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

FreeBSD Manual Pages

  
 
  

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

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

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  vec-
       tor  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 hyperslab, 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 -dim-
       range options for more details on how to	do this	(and look at the exam-
       ples!). 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 dimensionality 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
       dimensions. 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
       arbitrary 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
       defined,	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, expanding	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:  mincre-
       shape  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
	      (default).  A  chunk  varies in size depending mostly on whether
	      you're re-ordering dimensions or not and how  big	 the  internal
	      buffer is	allowed	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).  Ig-
	      nored for	floating point types.

       -valid_range min	max
	      specifies	 the valid range of output voxel values	in their inte-
	      ger 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  in-
	      put 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	possi-
	      ble value	(default).

       -pixfillvalue value
	      Specify  a new pixel value to replace out-of-range values	in the
	      input 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 dimension 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	dimen-
	      sions". These are	the two	fastest	 varying  (non-vector)	dimen-
	      sions  in	 the  file. If you want	to flip	a non-image dimension,
	      you can convert it to an	image  dimension  with	-dimsize  dim-
	      name=-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-an-
	      terior).

       -ydirection
	      Flip images to give negative yspace:step value (anterior-to-pos-
	      terior).

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

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

       -zdirection
	      Flip  images to give negative zspace:step	value (superior-to-in-
	      ferior).

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

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

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

       -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	dimen-
	      sion  are	 turned	 into image dimensions,	and these are then af-
	      fected by	the direction options. The  dimension  name  and  size
	      must  be	in  one	 command-line  argument,  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	dimen-
	      sions.  You can give fewer dimensions than exist	in  the	 file:
	      they  are	 assumed  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 di-
	      mension  of  size	1). A negative count means flip	the data along
	      that dimension - 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	alternative way	to specify the	same  informa-
	      tion.

       -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  as-
	      sumed to apply to	the slowest varying dimensions and the remain-
	      ing  coordinates	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 ap-
	      ply 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	corre-
	      spond  to	input file dimensions 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
	      possible 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	dimen-
       sion), 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
       option +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.0.quarterly>

home | help