The mice-stuffs package was formerly called MICe-minc-tools are or mice-minc-tools. The updates to the code can be found on the GitHub page: minc-stuffs github repository. The code can be downloaded and installed from there.
minc-stuffs is a software package containing disparate command line tools operating on MINC files developed at the Mouse Imaging Centre. The tools are:
Create a vector volume containing the displacements at each voxel specified by a transform (.xfm file).
Compute the volume of segmented structures given an atlas and Jacobian determinants.
Create a tag file from a transform.
Compute the linear part of a non-linear transform.
Multiply values in a file by the combined scale factor of a linear transform.
Blur a vector file.
Pretty pictures of deformation fields
Add normally distributed noise to a volume.
|TFCE||Threshold-free cluster enhancement|
|minc_label_ops||Manipulate label (segmentation) files|
Get the code here
The C code relies on MINC-2.0.09 or greater installed. #smooth_vector requires python, and #add_noise_to_volume requires R and RMINC, and the rest requires perl, Getopt::Tabular, and mni_perllib.
The following commands will perform the install:
./autogen.sh ./configure --with-minc2 --prefix=/directory/to/install/to --with-build-path=/directory/containing/minc2 make make install python setup.py install --prefix=/directory/to/install/to
minc_displacement [options] input.mnc input.xfm output_grid.mnc
minc_displacement evaluates a transform - linear nonlinear, concatenated, etc - at every voxel of an input file and produces a 4D output volume containing the displacement in x,y,z at every voxel.
label_volumes_from_jacobians structures.mnc jacobians.mnc
label_volumes_from_jacobians produces a list of labels and their volumes from a segmented atlas and a volume of log jacobians. Some important notes:
xfm2tag [options] input.mnc input.xfm output_tags.tag
xfm2tag takes a transform and an input volume in the space of which the transform can be evaluated and produces a tag file similar in composition to what register would produce after manual registration. This tag file can then be used to create a newer and perhaps simpler transform using tagtoxfm. xfm2tag is the key tool behind lin_from_nlin.
An optional argument allows one to specify a mask - the transform will only be evaluated inside the mask.
lin_from_nlin [options] input_volume.mnc input_nonlin.xfm output_lin.xfm
lin_from_nlin takes a non-linear transform and an input volume over which the non-linear transform can be evaluated and computes the linear component of the non-linear transform. Options can be used to specify lsq12, lsq9, or lsq6 for the resulting linear transform.
scale_voxels [options] transform.xfm volume.mnc output.mnc
scale_voxels multiplies every voxel in an input volume by the scale factor determined from a linear transform.
smooth_vector --filter --fwhm=x input_vector.mnc output_vector.mnc
Blurs a vector volume by separating the vector components, blurring them individually using mincblur, then recombining them.
grid_object_manipulator -mincfile mincfile.mnc -transform transformation.xfm
grid_object_manipulator uses ray_trace to create pictures of what a deformation grid looks like. Lots of options to control the grid-point spacing, use of overlays, and other ray_trace options. The image below is one example generated by grid_object_manipulator (click on it for a larger image):
add_noise_to_volume [options] -noise x input.mnc output.mnc
What every lab needs - a way to make their images look worse. add_noise_to_volume adds x percent normally distributed noise to an input volume. Needs R with the RMINC library installed.
minc_label_ops [options] input_labels.mnc output_labels.mnc # example: consider the following scenario, you have two atlases # atlas1.mnc and atlas2.mnc and you want to add labels 56 and 99 # from atlas1.mnc to atlas2.mnc. Run the following: minc_label_ops --select 56,99 atlas1.mnc atlas1_labels_56_99.mnc minc_label_ops --merge atlas1_labels_56_99.mnc atlas2.mnc atlas2_with_labels_from_altas1.mnc