Provided by: minc-tools_2.3.00+dfsg-12_amd64 bug

NAME

       rawtominc - converts a stream of binary image data to a minc format file

SYNOPSIS

       rawtominc [options] output.mnc [[sz4] sz3] sz2 sz1

DESCRIPTION

       Rawtominc  reads a stream of binary data (byte, short, long, float or double) from standard input (unless
       the -input option is used) and writes it into the minc format file output.mnc.  The  user  specifies  the
       dimension sizes from slowest varying to fastest varying. At least two dimensions must be given (an image)
       but there can be up to four.  Options give the user control over dimension names, data types and voxel to
       world coordinate conversion. Vector type data (such as RGB pixel data) can be read in as well.

PIXEL VALUE SPECIFICATION

       Pixel  values are specified by a type and a sign (e.g. signed short integer). They are also characterized
       by a range of legal values. For example, many scanners produce images stored  with  short  integer  pixel
       values. Some have values in the range 0 to 4095, others 0 to 32000, others -32768 to 32767. This range is
       the  valid  range,  specified  by  the  -range  option (for floating point values, the valid range is the
       maximum and minimum of the whole dataset). Rawtominc allows the user to specify both the input type, sign
       and range as well as the output type, sign and range (read short values, store byte values, for example).

       There is a  further  twist.  Integer  pixel  values  are  generally  taken  to  be  simply  scaled  pixel
       representations  of  real  (meaningful)  physical  values. Floating point values are taken to be the real
       value itself.  Thus floating point values are scanned for the maximum and minimum, since  they  could  be
       anything  (they  are  stored in the MINC variables image-max and image-min). Integer values, however, are
       not scanned by default, since their range can be given by an option. To force scanning of integer  values
       when  the  maximum  and minimum are not known (some scanners produce files with variable ranges), use the
       option -scan_range.

WORLD COORDINATES

       World coordinates refer to millimetric coordinates relative to some physical origin (either  the  scanner
       or  some anatomical structure). Voxel coordinates are simply the indices into the image volume of a given
       voxel.  It is worth describing briefly how MINC coordinate conversions work since this  will  affect  how
       successful the new MINC file will be.

       Each dimension of MINC image is specified by name - the spatial dimensions are xspace, yspace and zspace.
       The  convention  is  that  positive  xspace  coordinates  run from the patient's left side to right side,
       positive yspace coordinates run from patient posterior to anterior and positive  zspace  coordinates  run
       from  inferior  to  superior.  For  each  of these spatial dimensions, the world coordinate conversion is
       specified by a pair of attributes: step  and  start.   The  xspace  world  coordinate,  for  example,  is
       calculated using x = v*step + start, where x is the x world coordinate and v is the voxel count (starting
       at zero).  Thus the magnitude of the step attribute specifies the distance between voxels and the sign of
       the  step  attribute specifies the orientation of the axis. Programs will use this information to display
       images with the correct aspect ratio and orientation, so make sure that you get it right.  Many  scanners
       store  transverse  images  with  the  first  pixel  at  the patient's anterior/right side, so it would be
       necessary to give negative x and y step values.  Other conventions have  the  opposite:  first  pixel  at
       patient's  posterior/left,  so  step values are positive. Sometimes the first slice is inferior, so the z
       step should be positive. Other times it is superior, so z step is negative.

       The image axes do not have to be aligned with the world coordinate axes. The axis directions are recorded
       in the file as direction cosines - unit vectors - one for each spatial axis. In this case, the  step  and
       start  attributes  described  in  the  previous  paragraph  refer  to  distances  along  the axis, not to
       coordinates of the first voxel. This makes them invariant under a change of  axis  direction  (the  whole
       coordinate  system  can  in fact be rotated just by changing the direction cosines). If the coordinate of
       the first voxel is known, then it can be converted (projected) to a set of  start  values  by  using  the
       -origin option.

OPTIONS

Dimension ordering

       -transverse
              Transverse images   : [[time] z] y x (Default)

       -sagittal
              Sagittal images     : [[time] x] z y

       -coronal
              Coronal images      : [[time] y] z x

       -time  Time ordered images : [[z] time] y x

       -xyz   Dimension order     : [[time] x] y z

       -xzy   Dimension order     : [[time] x] z y

       -yxz   Dimension order     : [[time] y] x z

       -yzx   Dimension order     : [[time] y] z x

       -zxy   Dimension order     : [[time] z] x y

       -zyx   Dimension order     : [[time] z] y x

       -dimorder dim1,dim2[,dim3[,dim4]]
              Specify  an  arbitrary  dimension  order,  given  by  an  comma-separated  list of between 2 and 4
              dimension names.

       -vector size
              Gives the size of a vector dimension (always the fastest varying dimension). Default is no  vector
              dimension.

Input data type and range

       -byte  8-bit integer values (default).

       -short 16-bit integer values.

       -int   32-bit integer values.

       -long  Superseded by -int.

       -float Single-precision floating point values.

       -double
              Double-precision floating point values.

       -signed
              Values are signed integers (default for short and long). Ignored for floating point types.

       -unsigned
              Values are unsigned integers (default for byte). Ignored for floating point types.

       -range min max
              specifies  the  valid range of pixel values. Default is the full range for the type and sign. This
              option is ignored for floating point values.

       -real_range min max
              specifies the real range of image values that corresponds to the pixel values  of  option  -range.
              Default is to not store the real image minimum and maximum. If -scan_range is used, then the image
              minimum  and  maximum  corresponding  to  the scanned pixel minimum and maximum are calculated and
              stored. This option is ignored for floating point values.

       -swap_bytes
              Input values (either -short or -int) need to be converted between Motorola (big-endian) and  Intel
              (little-endian) data format.  If "short" input is specified, adjacent bytes are swapped.  If "int"
              input  is specified, inner and outer byte pairs are swapped.  This option has no effect with other
              input types.

Output data type and range

       -obyte Store 8-bit integer values (default is input type).

       -oshort
              Store 16-bit integer values (default is input type).

       -oint  Store 32-bit integer values (default is input type).

       -olong Superseded by -oint.

       -ofloat
              Single-precision floating point values (default is input type).

       -odouble
              Double-precision floating point values (default is input type).

       -osigned
              Values are signed integers (default for short and long). Ignored  for  floating  point  types.  If
              output type is not specified, then default is input sign type.

       -ounsigned
              Values  are unsigned integers (default for byte). Ignored for floating point types. If output type
              is not specified, then default is input sign type.

       -orange min max
              specifies the valid range of pixel values. Default is the full range for the type and  sign.  This
              option  is  ignored for floating point values. If output type and sign are not specified, then the
              default is the input range.

Scanning integers for range

       -noscan_range
              Do not scan integer values for their minimum and maximum - assume that the -range option gives the
              appropriate range of pixel values (default).  No rescaling of pixel values  is  done  (unless  the
              output  type  differs  from the input type) and the created images are assumed to have a real (not
              pixel value) minimum and maximum of zero and one.

       -scan_range
              Integer values are scanned for their minimum and maximum. Pixel values are rescaled  to  give  the
              full  range  of  pixel  values  and  the real minimum and maximum are set to the pixel minimum and
              maximum (unless -real_range is used). This should be equivalent  to  converting  the  input  to  a
              floating  point type and reading it in with -float -oshort (for example) assuming that -real_range
              is not used.

Writing output file

       -2     Create MINC 2.0 format output files.

       -clobber
              Overwrite existing minc file (default).

       -noclobber
              Don't overwrite existing minc file.

Reading from input file

       -input inputfile
              Read input data from inputfile instead of standard input.

       -skip length
              Skip the first length bytes of the input.

World coordinate conversion

       -xstep xstep
              Step size for x dimension (default = none).

       -ystep ystep
              Step size for y dimension (default = none).

       -zstep zstep
              Step size for z dimension (default = none).

       -xstart xstart
              Starting coordinate for x dimension (default = none). This is a distance parallel to the axis.

       -ystart ystart
              Starting coordinate for y dimension (default = none). This is a distance parallel to the axis.

       -zstart zstart
              Starting coordinate for z dimension (default = none). This is a distance parallel to the axis.

       -xdircos x1 x2 x3
              Direction cosines for x dimension (default = none).

       -ydircos y1 y2 y3
              Direction cosines for y dimension (default = none).

       -zdircos z1 z2 z3
              Direction cosines for z dimension (default = none).

       -origin o1 o2 o3
              Specify the spatial coordinates of the first voxel. If the direction cosines are not given or  are
              the  default  ones, this option will give the same results as using the -start options. Otherwise,
              the coordinate is projected parallel to the axes to determine the appropriate start values.

Frame time and length specification

       -frame_times t1,t2,t3,...
              Specify the start of each time frame. The number of values given must be equal to  the  length  of
              the  time dimension specified on the command line. All of the values given must be in one argument
              (no spaces between them, or the string must be quoted). Separation by spaces instead of commas  is
              permitted.

       -frame_widths w1,w2,w3,...
              Specify the length of each time frame. The comments for -frame_times apply here as well.

       To  set  the  start  and  step  values  for  a  functional  file  with  a  constant  frame times, use the
       -dattribute flag described below as follows:

           -dattribute time:step=1 -dattribute time:start=0

Imaging modality

       -nomodality
              Do not store modality type in file (default).

       -pet   PET data.

       -mri   MRI data.

       -spect SPECT data.

       -gamma Data from a gamma camera.

       -mrs   MR spectroscopy data.

       -mra   MR angiography data.

       -ct    CT data.

       -dsa   DSA data

       -dr    Digital radiography data.

Attribute specification

       -sattribute variable:attribute=value
              Specify that variable should  be  created  with  string  attribute  set  to  value.  The  complete
              specification,  including  variable, attribute and value, should be contained in only one argument
              to the program - quoting may be needed for strings containing blanks.

       -dattribute variable:attribute=value :
              Like -sattribute, but for specifying double-precision attribute values.

       -attribute variable:attribute=value
              Like -sattribute or -dattribute, except that the type is chosen by first trying to  interpret  the
              value as double precision - if that fails, then the value is assumed to be a string.

Generic options

       -help  Print summary of command-line options and exit.

       -version
              Print the program's version number and exit.

AUTHOR

       Peter Neelin

COPYRIGHTS

       Copyright © 1993 by Peter Neelin

                                          $Date: 2005-02-09 19:27:18 $                              RAWTOMINC(1)