logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

r.in.mat - Imports a binary MAT-File(v4) to a GRASS raster.

Author

       Hamish Bowman
        DepartmentofMarineScienceUniversityofOtagoNewZealand

Description

r.in.mat  will  import  a  GRASS  raster  map  from a Version 4 MAT-File which was created with Matlab or
       Octave.  Attributes such as map title and bounds will also be imported if they exist.
       Specifically, the following array variables will be read:

           •
                map_datamap_namemap_titlemap_northern_edgemap_southern_edgemap_eastern_edgemap_western_edge
       Any other variables in the MAT-file will be simply skipped over.
       The ’map_name’ variable is optional, if it exists, and is valid, the new map will be thus  named.  If  it
       doesn’t  exist  or  a  name  is  specified  with the output= option, the raster map’s name will be set to
       "MatFile" or the name specified respectively.  (maximum 64 characters; normal GRASS naming rules apply)
       The ’map_title’ variable is optional, the map’s title is set if it exists.
       The ’map_northern_edge’ and like variables  are  mandatory  unless  the  user  is  importing  to  a  "XY"
       non-georeferenced project (e.g. imagery data). Latitude and longitude values should be in decimal form.

Examples

       In Matlab, save with:
       save filename.mat map_* -v4
       In Octave, save with:
       save -mat4-binary filename.mat map_*

Keywords

       raster, import

Known Issues

       If you encounter any problems, please contact the GRASS Development Team.

Name

r.in.mat  - Imports a binary MAT-File(v4) to a GRASS raster.

Notes

r.in.mat  imports a Version 4 MAT-File. These files can be successfully created with more modern versions
       of Matlab and Octave (see "EXAMPLES" below).
       Everything should be Endian safe, so the file to be imported  can  be  simply  copied  between  different
       system architectures without binary translation (caveat: see "TODO" below).
       As  there  is  no  IEEE  value  for NaN in integer arrays, GRASS’s null value may be used to represent it
       within  these  maps.  Usually  Matlab  will  save  any  integer  based  matrix  with  NaN  values  as   a
       double-precision  floating  point  array,  so this usually isn’t an issue. To save space, once the map is
       loaded into GRASS you can convert it back to an integer map with the following command:
       r.mapcalc "int_map = int(MATFile_map)"
       NaN values in either floating point or double-precision floating point  matrices  should  translate  into
       null values as expected.
       r.in.mat must load the entire map array into memory before writing, therefore it might have problems with
       huge arrays.  (a 3000x4000 DCELL map uses about 100mb RAM)
       GRASS  defines  its  map  bounds at the outer-edge of the bounding cells, not at the coordinates of their
       centroids. Thus, the following Matlab commands may be used to determine and check  the  map’s  resolution
       information will be correct:
           [rows cols] = size(map_data)
           x_range = map_eastern_edge - map_western_edge
           y_range = map_northern_edge - map_southern_edge
           ns_res = y_range/rows
           ew_res = x_range/cols
       Remember Matlab arrays are referenced as (row,column), i.e. (y,x).
       In  addition,  r.in.mat  and  r.out.mat  make  for  a  nice  binary  container  format  for  transferring
       georeferenced maps around, even if you don’t use Matlab or Octave.

See Also

r.out.mat,r.in.ascii,r.in.bin,r.mapcalc,r.null.TheOctaveproject

Source Code

       Available at: r.in.mat source code (history)

       Accessed: Friday Apr 04 01:19:12 2025

       Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

       © 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual

GRASS 8.4.1                                                                                     r.in.mat(1grass)

Synopsis

r.in.matr.in.mat--helpr.in.matinput=name  [output=name]   [--overwrite]  [--help]  [--verbose]  [--quiet]  [--ui]

   Flags:--overwrite
           Allow output files to overwrite existing files

       --help
           Print usage summary

       --verbose
           Verbose module output

       --quiet
           Quiet module output

       --ui
           Force launching GUI dialog

   Parameters:input=name[required]
           Name of input MAT-File(v4)

       output=name
           Name for output raster map (override)

Todo

       Robust support for mixed-Endian importation.  (Thisisaworkinprogress,pleasehelpbyreportinganyfailurestotheGRASSbugtrackingsystem;
       Add support for importing map history, category information, color map, etc.  if they exist.
       Option  to  import  a  version 5 MAT-File, with map and support information stored in a single structured
       array.

See Also