Re-Happy-Doc 2016. 10. 20. 01:53

fslmaths [input volume] function [output volume] 

ex) fslmaths /Users/rehappydoc/Documents/data/Kim_TaeHyeon/Kim_TaeHyeon_3D/Kim_TaeHyeon_3D.nii -bin /Users/rehappydoc/Documents/data/Kim_TaeHyeon/Kim_TaeHyeon_3D/Kim_TaeHyeon_3D_mask 

-bin: binary file을 만드는 function 


fslmaths를 이용하여 ROI를 만들기 

freesurfer의 segmentation을 이용하여 합친후, binary file을 만듦  


Usage: fslmaths [-dt <datatype>] <first_input> [operations and inputs] <output> [-odt <datatype>]

 

 

Datatype information:

 

 -dt sets the datatype used internally for calculations (default float for all except double images)

 -odt sets the output datatype (default as original image)

 Possible datatypes are: char short int float double

 Additionally "-dt input" will set the internal datatype to that of the original image

 

Binary operations (image-image or image-number):

 

  (inputs can be either an image or a number)

 -add   : add following input to current image

 -sub   : subtract following input from current image

 -mul   : multiply current image by following input

 -div   : divide current image by following input

 -rem   : modulus remainder - divide current image by following input and take remainder

 -mas   : use (following image>0) to mask current image

 -thr   : use following number to threshold current image (zero anything below the number)

 -thrp  : use following percentage (0-100) of ROBUST RANGE to threshold current image (zero anything below the number)

 -thrP  : use following percentage (0-100) of ROBUST RANGE of non-zero voxels and threshold below

 -uthr  : use following number to upper-threshold current image (zero anything above the number)

 -uthrp : use following percentage (0-100) of ROBUST RANGE to upper-threshold current image (zero anything above the number)

 -uthrP : use following percentage (0-100) of ROBUST RANGE of non-zero voxels and threshold above

 -max   : take maximum of following input and current image

 -min   : take minimum of following input and current image

 -seed  : seed random number generator with following number

 

Basic unary operations (algebraic operation on an image):

 

 -exp   : exponential

 -log   : natural logarithm

 -sqr   : square

 -sqrt  : square root

 -recip : reciprocal (1/current image)

 -abs   : absolute value

 -bin   : use (current image>0) to binarise

 -index : replace each nonzero voxel with a unique (subject to wrapping) index number

 -grid <value> <spacing> : add a 3D grid of intensity <value> with grid spacing <spacing>

 -edge  : edge strength

 -tfce <H> <E> <connectivity>: enhance with TFCE, e.g. -tfce 2 0.5 6 (maybe change 6 to 26 for skeletons)

 -tfceS <H> <E> <connectivity> <X> <Y> <Z> <tfce_thresh>: show support area for voxel (X,Y,Z)

 -nan   : replace NaNs (improper numbers) with 0

 -nanm  : make NaN (improper number) mask with 1 for NaN voxels, 0 otherwise

 -rand  : add uniform noise (range 0:1)

 -randn : add Gaussian noise (mean=0 sigma=1)

 -inm <mean> :  (-i i ip.c) intensity normalisation (per 3D volume mean)

 -ing <mean> :  (-I i ip.c) intensity normalisation, global 4D mean)

 

Matrix operations:

 

 -tensor_decomp : convert a 4D (6-timepoint )tensor image into L1,2,3,FA,MD,MO,V1,2,3 (remaining image in pipeline is FA)

 

Kernel operations (set BEFORE filtering operation):

 

 -kernel 3D : 3x3x3 box centered on target voxel (set as default kernel)

 -kernel 2D : 3x3x1 box centered on target voxel

 -kernel box    <size>     : all voxels in a box of width <size> centered on target voxel

 -kernel boxv   <size>     : <size>x<size>x<size> box centered on target voxel, CAUTION: size should be an odd number

 -kernel gauss  <sigma>    : gaussian kernel (sigma in mm, not voxels)

 -kernel sphere <size>     : all voxels in a sphere of radius <size> mm centered on target voxel

 -kernel file   <filename> : use external file as kernel

 

Spatial Filtering operations: N.B. all options apart from -s use the kernel _previously_ specified by –kernel

 

 -dilM    : Mean Dilation of zero voxels  (using non-zero voxels in kernel)

 -dilD    : Modal Dilation of zero voxels (using non-zero voxels in kernel)

 -dilF    : Maximum filtering of all voxels

 -ero     : Erode by zeroing non-zero voxels when zero voxels found in kernel

 -eroF    : Minimum filtering of all voxels

 -fmedian : Median Filtering

 -fmean   : Mean filtering, kernel weighted (conventionally used with gauss kernel)

 -fmeanu  : Mean filtering, kernel weighted, un-normalised (gives edge effects)

 -s <sigma> : create a gauss kernel of sigma mm and perform mean filtering

 -subsamp2  : downsamples image by a factor of 2 (keeping new voxels centred on old)

 -subsamp2offc  : downsamples image by a factor of 2 (non-centred)

 

Dimensionality reduction operations:

 

  (the "T" can be replaced by X, Y or Z to collapse across a different dimension)

 

 -Tmean   : mean across time

 -Tstd    : standard deviation across time

 -Tmax    : max across time

 -Tmaxn   : time index of max across time

 -Tmin    : min across time

 -Tmedian : median across time

 -Tperc <percentage> : nth percentile (0-100) of FULL RANGE across time

 -Tar1    : temporal AR(1) coefficient (use -odt float and probably demean first)

 

Basic statistical operations:

 

 -pval    : Nonparametric uncorrected P-value, assuming timepoints are the permutations; first timepoint is actual (unpermuted) stats image

 -pval0   : Same as -pval, but treat zeros as missing data

 -cpval   : Same as -pval, but gives FWE corrected P-values

 -ztop    : Convert Z-stat to (uncorrected) P

 -ptoz    : Convert (uncorrected) P to Z

 

Multi-argument operations:

 

 -roi <xmin> <xsize> <ymin> <ysize> <zmin> <zsize> <tmin> <tsize> : zero outside roi (using voxel coordinates)

 -bptf  <hp_sigma> <lp_sigma> : (-t in ip.c) Bandpass temporal filtering; nonlinear highpass and Gaussian linear lowpass (with sigmas in volumes, not seconds); set either sigma<0 to skip that filter

 -roc <AROC-thresh> <outfile> [4Dnoiseonly] <truth> : take (normally binary) truth and test current image in ROC analysis against truth. <AROC-thresh> is usually 0.05 and is limit of Area-under-ROC measure FP axis. <outfile> is a text file of the ROC curve (triplets of values: FP TP threshold). If the truth image contains negative voxels these get excluded from all calculations. If <AROC-thresh> is positive then the [4Dnoiseonly] option needs to be set, and the FP rate is determined from this noise-only data, and is set to be the fraction of timepoints where any FP (anywhere) is seen, as found in the noise-only 4d-dataset. This is then controlling the FWE rate. If <AROC-thresh> is negative the FP rate is calculated from the zero-value parts of the <truth> image, this time averaging voxelwise FP rate over all timepoints. In both cases the TP rate is the average fraction of truth=positive voxels correctly found.

 

Combining 4D and 3D images:

 

 If you apply a Binary operation (one that takes the current image and a new image together), when one is 3D and the other is 4D,

 the 3D image is cloned temporally to match the temporal dimensions of the 4D image.

 

e.g. fslmaths input_volume -add input_volume2 output_volume

     fslmaths input_volume -add 2.5 output_volume

     fslmaths input_volume -add 2.5 -mul input_volume2 output_volume

 

     fslmaths 4D_input_volume -Tmean -mul -1 -add 4D_input_volume demeaned_4D_input_volume