Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MINCRESHAPE(1)			MINC User's Guide		  MINCRESHAPE(1)

NAME
     mincreshape - cuts a hyperslab out of a minc file (with dimension re-order-
     ing)

SYNOPSIS
     mincreshape [<options>] <infile>.mnc <outfile>.mnc

DESCRIPTION
     Mincreshape's main job is to chop a hyperslab out of a minc file and put it
     into  a  new  minc  file.	"What  is a hyperslab?", you ask. It is simply a
     multi-dimensional box specified with a starting index (a  vector  giving  a
     voxel  coordinate) and a count vector (a number of voxels along each axis).
     A single slice out of a volume is a hyperslab (with a count  of  1  in  the
     slice  direction),  a  small block pulled out of a large volume is a hyper-
     slab, a single echo volume out of a multi-echo MRI dataset is a  hyperslab,
     one  time	point  out of a dynamic acquisition is a hyperslab - you get the
     idea.  Check out the -start, -count and -dimrange options for more  details
     on  how to do this (and look at the examples!). If you are pulling out only
     one point along a dimension, you have the option of  making  the  dimension
     disappear,  so mincreshape gives you the ability to reduce the dimensional-
     ity of a minc file. As well, you aren't constrained to specify a  hyperslab
     that is only within the input file, you can extend beyond the bounds of the
     dimensions  in  the  input  file, and furthermore you can give a count that
     will flip the data along a dimension.

     As if all that is not enough, mincreshape has the ability to  re-order  di-
     mensions.	The  most  obvious  case is converting a transverse image into a
     coronal image. But you can type a list of dimension names to get  an  arbi-
     trary order of dimensions.

     You  want more!?! Okay, okay. Mincreshape makes all of the minc library ICV
     operations available on the command line. For those  who  like  things  de-
     fined, an ICV is an image conversion variable (don't ask me why I called it
     that)  which basically lets you tell the data what it's going to look like.
     In other words, it does a bunch of conversions for you.  These  conversions
     include changing type, range and normalization of the voxel values, expand-
     ing  or  contracting  images  (by voxel duplication or averaging) to give a
     specified image size, and converting vector images to scalar.

     Just so you don't get confused let me tell you  clearly  here:  mincreshape
     does  all of the ICV conversions first and then the hyperslab and dimension
     re-ordering stuff is applied to the result of that. So if you want  to  mix
     them  together  (like  -imgsize, -start, -count), get it clear in your head
     first.

     Okay, hold on to your seat: here's a list of options.

OPTIONS
     Note that options can be specified in abbreviated form (as long as they are
     unique) and can be given anywhere on the command line.

General options
     -2     Create MINC 2.0 format output files.

     -clobber
	    Overwrite an existing file.

     -noclobber
	    Don't overwrite an existing file (default).

     -verbose
	    Print out progress information for each chunk of  data  copied  (de-
	    fault).  A	chunk  varies in size depending mostly on whether you're
	    re-ordering dimensions or not and how big the internal buffer is al-
	    lowed to be.

     -quiet
	    Do not print out progress information.

     -max_chunk_size_in_kb size
	    Specify the maximum size of the copy buffer (in kbytes). Default  is
	    4096 kbytes (4meg).

Image conversion options (pixel type and range):
     The  default  for	type,  sign and valid range is to use those of the input
     file. If type is specified, then both sign and valid range are set  to  the
     default for that type. If sign is specified, then valid range is set to the
     default for the type and sign.

     -filetype
	    Don't do any type conversion (default).

     -byte  Store output voxels in 8-bit integer format.

     -short
	    Store output voxels in 16-bit integer format.

     -int   Store output voxels in 32-bit integer format.

     -long  Superseded by -int.

     -float
	    Store output voxels in 32-bit floating point format.

     -double
	    Store output voxels in 64-bit floating point format.

     -signed
	    Write  out	values	as signed integers (default for short and long).
	    Ignored for floating point types.

     -unsigned
	    Write out values as unsigned integers (default  for  byte).  Ignored
	    for floating point types.

     -valid_range min max
	    specifies  the  valid  range of output voxel values in their integer
	    representation. Default is the full range for  the	type  and  sign.
	    This option is ignored for floating point values.

     -image_range min max
	    Normalize  images  to  a  given  minimum and maximum real value (not
	    voxel value).

     -normalize
	    Normalize images to real minimum and maximum for  the  entire  input
	    file.

     -nonormalize
	    Do not normalize images (default).

     -nopixfill
	    Do	not  convert  out-of-range  values in input file, just copy them
	    through.

     -pixfill
	    Replace out-of-range values in input file by the  smallest	possible
	    value (default).

     -pixfillvalue value
	    Specify  a new pixel value to replace out-of-range values in the in-
	    put file.

Image conversion options (dimension direction and size):
     -scalar
	    Convert vector images to scalar images (a vector image is  one  with
	    vector_dimension  as  the fastest varying dimension). The vector di-
	    mension is removed and values are averaged.

     -noscalar
	    Do not convert vector images to scalar images (default).

     +direction
	    Flip images to give positive step value for spatial axes.  Note that
	    the flipping of spatial axes only  applies	to  "image  dimensions".
	    These  are	the  two  fastest varying (non-vector) dimensions in the
	    file. If you want to flip a non-image dimension, you can convert  it
	    to	an  image dimension with -dimsize dimname=-1 (the -1 means don't
	    really change the size). Check out the examples.

     -direction
	    Flip images to give negative step value for spatial axes.

     -anydirection
	    Don't flip images along spatial axes (default).

     +xdirection
	    Flip images to give positive xspace:step value (left-to-right).

     -xdirection
	    Flip images to give negative xspace:step value (right-to-left).

     -xanydirection
	    Don't flip images along x-axis.

     +ydirection
	    Flip images to give positive yspace:step  value  (posterior-to-ante-
	    rior).

     -ydirection
	    Flip  images  to give negative yspace:step value (anterior-to-poste-
	    rior).

     -yanydirection
	    Don't flip images along y-axis.

     +zdirection
	    Flip images to give positive  zspace:step  value  (inferior-to-supe-
	    rior).

     -zdirection
	    Flip  images  to  give negative zspace:step value (superior-to-infe-
	    rior).

     -zanydirection
	    Don't flip images along z-axis.

     -keepaspect
	    Preserve aspect ratio when resizing images. This means  that  voxels
	    are replicated (or averaged) the same number of times along each im-
	    age dimension.

     -nokeepaspect
	    Do	not force preservation of aspect ratio when resizing images (de-
	    fault).

     -imgsize size
	    Specify the desired image size (used if  -rowsize  or  -colsize  not
	    given).

     -rowsize size
	    Specify the desired number of rows in the image.

     -colsize size
	    Specify the desired number of columns in the image.

     -dimsize dimension=size
	    Specify  the  size	of a named dimension (dimension=size). Note that
	    the resizing only applies to "image dimensions" -  usually	the  two
	    fastest-varying  (non-vector)  dimensions. To do dimension resizing,
	    all fastest-varying dimensions up to the named dimension are  turned
	    into  image dimensions, and these are then affected by the direction
	    options. The dimension name and size must be in one command-line ar-
	    gument, so if you use spaces (which is okay), remember to use quotes
	    to hide them from the shell.

Reshaping options:
     -transverse
	    Write out transverse slices.

     -sagittal
	    Write out sagittal slices.

     -coronal
	    Write out coronal slices.

     -dimorder dim1,dim2,dim3,...
	    Specify dimension order, where dim? are the names of the dimensions.
	    You can give fewer dimensions than exist in the file: they	are  as-
	    sumed  to  be  the fastest varying dimensions in the output file (so
	    -transverse     is	   exactly     equivalent      to      -dimorder
	    zspace,yspace,xspace).  Again, spaces are allowed between names, but
	    remember to hide them from the shell with quotes.

     -dimrange dim=start[,count]
	    Specify  the  range  of  dimension	subscripts for dimension dim. If
	    count is missing or 0, then it is taken to mean 1,	but  remove  the
	    dimension  from  the output file (a count of 1 will keep a dimension
	    of size 1). A negative count means flip the data along  that  dimen-
	    sion - in this case start specifies the highest voxel coordinate for
	    the  dimension  (-dimrange xspace=3,-3  gives  a  flipped version of
	    -dimrange xspace=1,3). The options -start and -count provide an  al-
	    ternative way to specify the same information.

     -start coord0,coord1,coord2,...

	    Specifies  the starting corner of the hyperslab (coordinates go from
	    slowest varying dimension to  fastest).  If  fewer	coordinates  are
	    given  than  dimensions  exist in the file, then they are assumed to
	    apply to the slowest varying dimensions and  the  remaining  coordi-
	    nates  are set to 0. See -dimrange for more details. Both -start and
	    -count give vectors that correspond to input file  dimensions  after
	    the image conversion (ICV) options have been applied.

     -count size0,size1,size2,...
	    Specifies  edge  lengths  of  hyperslab to read (coordinates go from
	    slowest varying dimension to fastest). If fewer sizes are given than
	    dimensions exist in the file, then they are assumed to apply to  the
	    slowest  varying  dimensions  and the remaining sizes are set to the
	    full size of the dimension. See -dimrange  for  more  details.  Both
	    -start  and -count give vectors that correspond to input file dimen-
	    sions after the image conversion (ICV) options have been applied.

Missing data options:
     -nofill
	    Use value zero for points outside of the input volume (default).

     -fill  Use a fill value for points outside of input volume (minimum  possi-
	    ble value).

     -fillvalue value
	    Specify a fill value for points outside of the input volume (this is
	    a real value, not a pixel value).

Generic options for all commands:
     -help  Print summary of command-line options and exit.

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

EXAMPLES:
     Assume that we have a volume with dimensions zspace, yspace, xspace (that's
     transverse)  and  sizes 128, 256, 256. If we want to get slice 40 out of it
     (keeping the coordinate information for the zspace dimension), then we  can
     use

	mincreshape original.mnc new.mnc -dimrange zspace=40,1

     Alternatively, we could use

	mincreshape original.mnc new.mnc -start 40,0,0 -count 1,256,256

     Or simply

	mincreshape original.mnc new.mnc -start 40 -count 1

     If we wanted to get rid of the zspace dimension, we could use

	mincreshape original.mnc new.mnc -dimrange zspace=40,0

     Let's get a block out of the middle and flip it along xspace:

	mincreshape original.mnc new.mnc \
	   -start 40,10,240 -count 1,200,-200

     But why restrain outselves? Let's go out of bounds:

	mincreshape original.mnc new.mnc \
	   -start 40,-100,340 -count 1,200,-200

     If you want a sagittal volume, use this:

	mincreshape original.mnc new.mnc -sagittal

     How  about  some sideways heads - flip x and y. And convert to byte to save
     space while we're at it:

	mincreshape original.mnc new.mnc -dimorder xspace,yspace -byte

     You like to store volumes in x,y,z order (that's z varying fastest! I  know
     some people who do it!)? Okay.

	mincreshape original.mnc new.mnc -dimorder xspace,yspace,zspace

     But  you're  a minimalist (and don't mind taking a chance). Here's the same
     thing (but it might break for another file):

	mincreshape original.mnc new.mnc -dimorder zspace

     Let's make sure that all dimensions have a negative step attribute (see op-
     tion +direction for some details):

	mincreshape original.mnc new.mnc -direction -dimsize zspace=-1

AUTHOR
     Peter Neelin

COPYRIGHTS
     Copyright (C) 1994 by Peter Neelin

SEE ALSO
     mincresample(1)

			  $Date: 2004-05-20 21:52:09 $		  MINCRESHAPE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mincreshape&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help