micalc: Performs basic mathematics with data sets
File formats are automatically identified by their file extension.
Usage:
Binary operation with data sets and/or scalar numbers:
micalc [-if1 <input-file1> | -in1 <input-number1>] -op <operation(+,-,*,/,lcorr,kcorr)> [-if2 <input-file2> | -in2 <input-number1>] -of <output-file>
Accumulation of one data set:
micalc -if <input-file> -op <operation(+,*)>
Transformation (logaritm, negation, or inversion) of one data set:
micalc -if <input-file> -op <operation(log,-,/)> -of <output-file>
Statistics of one data set:
micalc -if <input-file> [-mean <time-mean-file>] [-fluct <relative-time-stdev-file>] [-tcourse <time-course of all voxels>] [-hist <histogram> -histmin <minval> -histmax <maxval> -histslots <numofslots>]
Extra options:
-mask <Mask for data>
File read options:
-fx: FOV in read direction [mm] (default=220.0mm)
-fy: FOV in phase direction [mm] (default=220.0mm)
-nr: Number of consecutive measurements (default=1)
-nx: Spatial resolution in read direction (default=128)
-ny: Spatial resolution in phase direction (default=128)
-pbirth: Patients date of birth in <year><mont><day> (default=19730913)
-pid: Unique patient identifier (default=Unknown)
-pname: Full patient name (default=Unknown)
-psex: Patients sex (options=M F O , default=O)
-pweight: Patients weight [kg] (default=50.0kg)
-scient: Scientist Name (default=Unknown)
-sd: Inter-slice distance (from center to center) [mm] (default=10.0mm)
-serd: Series Description (default=Unknown)
-serno: Series Number (default=1)
-st: Slice thickness [mm] (default=5.0mm)
-stud: Study Description (default=Unknown)
-tcname: TransmitCoil Name (default=Unknown)
-te: Time-to-echo of the sequence [ms] (default=80.0ms)
-tr: Time between consecutive excitations [ms] (default=1000.0ms)
-abs: Treat data as complex and extract magnitude
-dir: Try to combine multiple files found in directory
-ds: Dataset index to extract if multiple datasets are read
-filter: Read only those datasets which protocol parameter 'key' contains the string 'value' (given in the format 'key=value')
-jdx: If multiple JDX arrays are present, select this
-pha: Treat data as complex and extract the phase
-rdialect: Read data using given dialect of the format. (default is no dialect)
-rf: Read format, use it to override file extension (options=autodetect asc coi dat dcm double float gz hdr ima img jdx mag mhd nii ph pos s16bit s32bit s8bit smp u16bit u32bit u8bit v vtk , default=autodetect)
-skip: Skip this amount of bytes before reading the raw data (default=0)
File write options:
-append: Append to existing file, only for raw data
-split: Split protocol-data pairs into separate files. "%a" (if given in the name) will be replaced by the seriesnumber and its description.
-type: Image representation type (options=automatic float double s32bit u32bit s16bit u16bit s8bit u8bit , default=automatic)
-wdialect: Write data using given dialect of the format. (default is no dialect)
-wf: Write format, use it to override file extension (options=autodetect asc coi dat dcm double float gz hdr ima img jdx mag mhd nii ph pos s16bit s32bit s8bit smp u16bit u32bit u8bit v vtk , default=autodetect)
-wp: Store the protocol separately to this file."%a" (if given in the name) will be replaced by the seriesnumber and its description.
Filters applied to input files:
-max <Maximum value> : Clip all values above maximum value
-min <Minumum value> : Clip all values below mininum value
-noNaN <Replacement value> : Replaces every NaN by the given value
-pflip : Flip data in phase direction
-prange <Single value or range, optionally with increment (e.g. 1-10:3)> : Select range in phase direction
-resize <slice-size,phase-size,read-size> : Resize image data
-reslice <requested orientation> : reslices the image to have a given orientation if necessary
-rflip : Flip data in read direction
-rot <Rotate by this angle> : In-plane rotation
-rrange <Single value or range, optionally with increment (e.g. 1-10:3)> : Select range in read direction
-scale <Slope,Offset> : Rescale image values
-sflip : Flip data in slice direction
-srange <Single value or range, optionally with increment (e.g. 1-10:3)> : Select range in slice direction
-trange <Single value or range, optionally with increment (e.g. 1-10:3)> : Select range in time direction
-typemax <Datatype> : Clip all values above maximum of a specific datatype
-typemin <Datatype> : Clip all values below mininum of a specific datatype
Other options:
-v <loglevel> or <component:loglevel> for debugging/tracing all components or a sinlge component, respectively. Possible values for loglevel are: 0(noLog), 1(errorLog), 2(warningLog), 3(infoLog), 4(significantDebug), 5(normalDebug), 6(verboseDebug).
Supported file extensions(formats):
asc (ASCII)
coi (JCAMP-DX data sets)
dat (Matlab ascii 2D data matrix)
dcm (DICOM)
double (double raw data)
float (float raw data)
gz (GNU-Zip container for other formats)
hdr (ANALYZE)
ima (DICOM)
img (ANALYZE)
jdx (JCAMP-DX image format)
mag (DICOM)
mhd (MetaImage)
nii (NIFTI, dialects: fsl )
ph (DICOM)
pos (x-y positions of non-zeroes in ASCII)
s16bit (signed 16 bit raw data)
s32bit (signed 32 bit raw data)
s8bit (signed 8 bit raw data)
smp (JCAMP-DX data sets)
u16bit (unsigned 16 bit raw data)
u32bit (unsigned 32 bit raw data)
u8bit (unsigned 8 bit raw data)
v (Vista, dialects: common odin lipsia xlipsia )
vtk (Visualization Toolkit)
micalc -if1 image1.dcm -op '-' -if2 image2.dcm -of diff.float
Multiply image magnitude of Vista file 'image.v' by a factor 10:
micalc -if1 image.v -op '*' -in2 10 -of image.v
Accumulate all values in file 'image.float' and write result to console:
micalc -if image.float -op '+'
Negate values (invert sign) of file image.hdr and write result to neg.hdr
micalc -if image.hdr -op '-' neg.hdr
Print statistics about file 'data.asc' to console:
micalc -if data.asc
Write time-course mean and fluctuation (relative standard deviation over time) of file 'tcourse.v' to file 'mean.v' and 'stdev.v', respectively:
micalc -if tcourse.v -mean mean.v -fluct stdev.v
Calculate histogram in interval (0.0,100.0) with 64 steps of DICOMs in directory cbv:
micalc -dir -if cbv -hist histogram.asc -histmin 0.0 -histmax 100.0 -histslots 64
Please note that it might be necessary to quote the operation argument (as shown above) in order to prevent the shell from expanding it.
1.5.1