micalc(1) Performs basic mathematics with data sets

DESCRIPTION

micalc: Performs basic mathematics with data sets
File formats are automatically identified by their file extension. For binary operations with two input files, the protocol of the first input file will be used for the output file.

micalc can be used in one of the following modes:

Binary operation with data sets and/or scalar numbers:
micalc [-if1 <input-file1> | -in1 <input-number1>] -op <operation(+,-,*,/,min,max,lcorr,kcorr)> [-if2 <input-file2> | -in2 <input-number1>] -of <output-file>
Accumulation/reduction of one data set:
micalc -if <input-file> -op <operation(+,*,mean,median,stdev,min,max)>
Transformation (magnitude, logarithm, ...) of one data set:
micalc -if <input-file> -op <operation(abs,log,exp,-,/,acos)> -of <output-file>
Statistics of one data set:
micalc -if <input-file> [-mean <time-mean-file>] [-stdev <time-stdev-file>] [-fluct <relative-time-stdev-file>] [-tcourse <average time course of all voxels>][-hist <histogram> -histslots <numofslots> [-histmin <minval>] [-histmax <maxval>] [-rightstairs] [-histfract] [-loghist] [-histslotmap <file>]]

Extra options:

-mask <Binary mask file: voxels with zeroes are discarded>

File read options:

-aa: azimuthal rotation angle (default=0.0)
-ah: height rotation angle (default=0.0)
-ai: inplane rotation angle (default=0.0)
-date: Date of scan [yyyymmdd] (default=20160106yyyymmdd)
-fp: FOV in phase direction [mm] (default=220.0mm)
-fr: FOV in read direction [mm] (default=220.0mm)
-fs: FOV in slice direction [mm] (default=5.0mm)
-nr: Number of consecutive measurements (default=1)
-nx: Number of points in read direction (default=128)
-ny: Number of points in phase direction (default=128)
-nz: Number of points in slice direction (default=1)
-pbirth: Patients date of birth [yyyymmdd] (default=00000000yyyymmdd)
-pid: Unique patient identifier (default=Unknown)
-pname: Full patient name (default=Unknown)
-psex: Patients sex (options=M F O , default=O)
-psize: Patients size/height [mm] (default=2000.0mm)
-pweight: Patients weight [kg] (default=50.0kg)
-rcname: Name of receive coil (default=Unknown)
-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: Name of transmit coil (default=Unknown)
-te: Time-to-echo of the sequence [ms] (default=80.0ms)
-time: Time of scan [hhmmss] (default=135544hhmmss)
-tr: Time between consecutive excitations [ms] (default=1000.0ms)
-cplx: Treat data as complex and extract the given component (options=none abs pha real imag , default=none)
-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')
-fmap: For reduced memory usage, keep filemapping after reading (raw) data, but writing into the array will result in a crash
-jdx: If multiple LDR arrays are present, select this
-rdialect: Read data using given dialect of the format. (default is no dialect)
-rf: Read format, use it to override file extension (options=autodetect 3db analyze asc coi dat dcm double float gz hdr idx ima interfile jdx mag mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit 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
-fnamepar: Space-separated list of protocol parameters to include when creating unique file names
-noscale: Do not rescale values when storing integers
-split: Force splitting of protocol-data pairs into separate files.
-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 3db analyze asc coi dat dcm double float gz hdr idx ima interfile jdx mag mhd nii ph png pos pro reg s16bit s32bit s8bit smp u16bit u32bit u8bit vtk , default=autodetect)
-wp: Store the protocol separately to this file.

Filters applied to input file(s) and mask:

-align <filename,In-plane blowup factor> : Align data to the geometry (voxel locations) of an external file
-automask : Create mask using automatic histogram-based threshold
-cluster : Create clusters of non-zero adjacent/next-neighbours voxels, sorted by size
-convolve <convolution kernel (Gauss NoFilter Triangle Hann Hamming CosSq Blackman BlackmanNuttall Exp ),kernel diameter [mm]> : Convolution in spatial dimensions
-detrend <Number of low frequency components to be removed,Zero mean of resulting timecourse> : Remove slow drift over time
-edit <Position/range string in the format (timeframe,slicepos,phasepos,readpos),new value of voxel> : Edit single voxel values
-genmask <lower threshold,upper threshold> : Create mask including all voxels with value in given range
-inv : Invert image values, i.e. lowest to highest and vice versa
-isotrop <voxelsize [mm]> : make image voxels isotrop through interpolation (image geometry will not change)
-lowpass <Cut-off frequency [Hz]> : Lowpass filtering
-max <Maximum value> : Clip all values above maximum value
-maxip <direction (time slice phase read none )> : Perform maximum intensity projection over given direction
-merge : Merge datasets into a single dataset by expanding the time dimension
-min <Minumum value> : Clip all values below mininum value
-minip <direction (time slice phase read none )> : Perform minimum intensity projection over given direction
-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
-proj <direction (time slice phase read none )> : Perform mean projection over given direction
-quantilmask <quantil> : Create mask including all voxels above the given fractional threshold
-resample <new size> : Temporal resize of image data
-resize <slice-size,phase-size,read-size> : Spatial resize of image data
-reslice <requested orientation (sagittal coronal axial )> : reslices the image to a given orientation
-rflip : Flip data in read direction
-rot <angle [deg],kernel size [pixel]> : 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
-shift <readDirection shift [pixel],phaseDirection shift [pixel],sliceDirection shift [pixel]> : Shift data spatially
-slicetime <space-separated list of slice indices in order of acquisition> : Correct for different acquisition time points of slices
-splice <dimension of the data to be spliced (time slice phase read none )> : splices the image in the given direction
-srange <Single value or range, optionally with increment (e.g. 1-10:3)> : Select range in slice direction
-sum <direction (time slice phase read none )> : Perform sum projection over given direction
-swapdim <[rps][-],[rps][-],[rps][-]> : swap/reflect dimensions by specifying a direction triple with optional reflection sign appended
-tile <columns> : Combine slices into a square 2D image
-trange <Single value or range, optionally with increment (e.g. 1-10:3)> : Select range in time direction
-tshift <time shift [frames]> : Shift data in time
-typemax <Datatype> : Clip all values above maximum of a specific datatype
-typemin <Datatype> : Clip all values below mininum of a specific datatype
-usemask <filename> : Create 1D dataset including all values within mask from file

Other options:

-v <loglevel> or <component:loglevel> for debugging/tracing all components or a single component, respectively. Possible values for loglevel are: 0(noLog), 1(errorLog), 2(warningLog), 3(infoLog).
-h, --help, -help, --version : Print help text or version information

Supported file extensions(formats):

3db
(Iris3D binary data)
analyze
(NIFTI/ANALYZE, dialects: fsl )
asc
(ASCII, dialects: tcourse )
coi
(JCAMP-DX data sets)
dat
(Matlab ascii 2D data matrix)
dcm
(DICOM, dialects: siemens )
double
(double raw data)
float
(float raw data)
gz
(GNU-Zip container for other formats)
hdr
(Interfile, dialects: neurostat )
hdr
(NIFTI/ANALYZE, dialects: fsl )
idx
(3D-indices of non-zeroes in ASCII, dialects: addval )
ima
(DICOM, dialects: siemens )
interfile
(Interfile, dialects: neurostat )
jdx
(JCAMP-DX image format)
mag
(DICOM, dialects: siemens )
mhd
(MetaImage)
nii
(NIFTI/ANALYZE, dialects: fsl )
ph
(DICOM, dialects: siemens )
png
(Portable Network Graphics)
pos
(x-y positions of non-zeroes in ASCII)
pro
(ODIN measurement protocols)
reg
(Ansoft HFSS 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)
vtk
(Visualization Toolkit)