Class DSC_MRI_toolbox

    • Field Detail

      • volumes

        private double[][][][] volumes
      • conc

        private double[][][][] conc
      • AIFslice

        private double[][][] AIFslice
      • nC

        private int nC
      • nR

        private int nR
      • nS

        private int nS
      • nT

        private int nT
      • extents2D

        private int[] extents2D
      • extents3D

        private int[] extents3D
      • extents4D

        private int[] extents4D
      • resolutions3D

        float[] resolutions3D
      • units3D

        int[] units3D
      • resolutions4D

        float[] resolutions4D
      • units4D

        int[] units4D
      • length

        private int length
      • volume

        private int volume
      • time

        private double[] time
      • te

        private double te
      • tr

        private double tr
      • display

        private int display
      • waitbar

        private int waitbar
      • mask_npixel

        private int mask_npixel
      • options_conc

        private int options_conc
      • S0_nSamplesMin

        private int S0_nSamplesMin
      • S0_nSamplesMax

        private int S0_nSamplesMax
      • S0_thresh

        private double S0_thresh
      • aif_enable

        private int aif_enable
      • aif_recirculation

        private int aif_recirculation
      • aif_nSlice

        private int aif_nSlice
      • aif_semiMajorAxis

        private double aif_semiMajorAxis
      • aif_semiMinorAxis

        private double aif_semiMinorAxis
      • aif_pArea

        private double aif_pArea
      • aif_pTTP

        private double aif_pTTP
      • aif_pReg

        private double aif_pReg
      • aif_diffPeak

        private double aif_diffPeak
      • aif_nVoxelMax

        private int aif_nVoxelMax
      • aif_nVoxelMin

        private int aif_nVoxelMin
      • qr_enable

        private int qr_enable
      • qr_b

        private double qr_b
      • qr_a

        private double qr_a
      • qr_r

        private double qr_r
      • deconv_SVD_threshold

        private double deconv_SVD_threshold
      • deconv_SVD_residual

        private int deconv_SVD_residual
      • deconv_cSVD_threshold

        private double deconv_cSVD_threshold
      • deconv_cSVD_residual

        private int deconv_cSVD_residual
      • deconv_oSVD_OIthres

        private double deconv_oSVD_OIthres
      • deconv_oSVD_residual

        private int deconv_oSVD_residual
      • deconv_SS_residual

        private int deconv_SS_residual
      • deconv_method

        private java.lang.String[] deconv_method
      • par_kh

        private double par_kh
      • par_rho

        private double par_rho
      • par_kvoi

        private double par_kvoi
      • mask_data

        private byte[][][] mask_data
      • mask_aif

        private byte[][][] mask_aif
      • mask_aif_slice

        private byte[][] mask_aif_slice
      • gauss2FittingObservations

        private int gauss2FittingObservations
      • gauss2FittingData

        private double[] gauss2FittingData
      • doCurveIntersect

        boolean doCurveIntersect
      • x_out

        double[] x_out
      • y_out

        double[] y_out
      • x_loc

        double[] x_loc
      • y_loc

        double[] y_loc
      • readTestImage

        boolean readTestImage
      • test2PerfectGaussians

        boolean test2PerfectGaussians
      • GxData

        private double[] GxData
      • GxxData

        private double[] GxxData
      • sigmas

        private double[] sigmas
      • firstGaussianMean

        double firstGaussianMean
      • firstGaussianMeanBin

        int firstGaussianMeanBin
      • firstGaussianAmplitude

        double firstGaussianAmplitude
      • firstGaussianStandardDeviation

        double firstGaussianStandardDeviation
      • c1

        double c1
      • secondGaussianMeanBin

        int secondGaussianMeanBin
      • secondGaussianAmplitude

        double secondGaussianAmplitude
      • secondGaussianStandardDeviation

        double secondGaussianStandardDeviation
      • secondGaussianMean

        double secondGaussianMean
      • c2

        double c2
      • minSum

        double minSum
      • maxSum

        double maxSum
      • outputFilePath

        private java.lang.String outputFilePath
      • inputFileName

        private java.lang.String inputFileName
      • outputPrefix

        private java.lang.String outputPrefix
      • fileIO

        private FileIO fileIO
      • saveFileFormat

        private int saveFileFormat
      • doSaveAllOutputs

        private boolean doSaveAllOutputs
      • S0map

        double[][][] S0map
      • bolus

        int[] bolus
      • equalTimeSpacing

        boolean equalTimeSpacing
      • AIF_ROI

        byte[][] AIF_ROI
      • AIF_ROI_x

        double[] AIF_ROI_x
      • AIF_ROI_y

        double[] AIF_ROI_y
      • AIF_conc

        double[] AIF_conc
      • AIF_voxels

        int[][] AIF_voxels
      • data_peak1

        double[] data_peak1
      • weights_peak1

        double[] weights_peak1
      • fitParameters_peak1

        double[] fitParameters_peak1
      • cv_est_parGV_peak1

        double[] cv_est_parGV_peak1
      • TR

        double TR
      • Tmax

        double Tmax
      • Tmin

        double Tmin
      • TRfine

        double TRfine
      • nTfine

        int nTfine
      • tGrid

        double[] tGrid
      • dati_peak2

        double[] dati_peak2
      • weights_peak2

        double[] weights_peak2
      • fitParameters_peak2

        double[] fitParameters_peak2
      • cv_est_parGV_peak2

        double[] cv_est_parGV_peak2
      • AIF_fit_weights

        double[] AIF_fit_weights
      • AIF_fit_parameters

        double[] AIF_fit_parameters
      • AIF_fit_cv_est_parGV

        double[] AIF_fit_cv_est_parGV
      • AIF_fit_gv

        double[] AIF_fit_gv
      • t0_init

        double t0_init
      • alpha_init

        double alpha_init
      • beta_init

        double beta_init
      • A_init

        double A_init
      • td_init

        double td_init
      • K_init

        double K_init
      • tao_init

        double tao_init
      • gaussStandardDeviationCheck

        boolean gaussStandardDeviationCheck
      • gauss1FittingCheck

        boolean gauss1FittingCheck
      • gauss2FittingCheck

        boolean gauss2FittingCheck
      • GVFittingCheck

        boolean GVFittingCheck
      • GVRecirculationCheck

        boolean GVRecirculationCheck
      • doAIFTransfer

        boolean doAIFTransfer
      • errorInMaskRoutine

        boolean errorInMaskRoutine
      • intensity

        double[] intensity
      • probDouble

        double[] probDouble
      • cbv

        double[][][] cbv
      • cbv_lc

        double[][][] cbv_lc
      • cbf_svd

        double[][][] cbf_svd
      • cbf_svd_residual

        double[][][][] cbf_svd_residual
      • cbf_csvd

        double[][][] cbf_csvd
      • cbf_csvd_residual

        double[][][][] cbf_csvd_residual
      • cbf_osvd

        double[][][] cbf_osvd
      • cbf_osvd_OI

        double[][][] cbf_osvd_OI
      • cbf_osvd_residual

        double[][][][] cbf_osvd_residual
      • mtt_svd

        double[][][] mtt_svd
      • mtt_csvd

        double[][][] mtt_csvd
      • mtt_osvd

        double[][][] mtt_osvd
      • ttp

        short[][][] ttp
      • fwhm

        double[][][] fwhm
    • Constructor Detail

      • DSC_MRI_toolbox

        public DSC_MRI_toolbox()
      • DSC_MRI_toolbox

        public DSC_MRI_toolbox​(ModelImage srcImage,
                               java.lang.String outputFilePath,
                               double te,
                               double tr,
                               int aif_nSlice,
                               java.lang.String[] deconv_method)
      • DSC_MRI_toolbox

        public DSC_MRI_toolbox​(double[][][][] volumes,
                               double te,
                               double tr,
                               int aif_nSlice,
                               java.lang.String outputFilePath)
    • Method Detail

      • runAlgorithm

        public void runAlgorithm()
      • getAIF_voxels

        public int[][] getAIF_voxels()
      • DSC_mri_core

        public void DSC_mri_core()
      • DSC_mri_mask

        public void DSC_mri_mask()
      • backupSecondGaussianRoutine

        private void backupSecondGaussianRoutine()
      • DSC_mri_conc

        public void DSC_mri_conc()
      • DSC_mri_S0

        public void DSC_mri_S0()
      • DSC_mri_aif

        public void DSC_mri_aif()
      • DSC_mri_slice_selection_figure

        public int DSC_mri_slice_selection_figure()
      • extractAIF

        public void extractAIF()
      • DSC_mri_cbv

        public void DSC_mri_cbv()
      • DSC_mri_cbv_lc

        public void DSC_mri_cbv_lc()
      • DSC_mri_cbf

        public void DSC_mri_cbf()
      • DSC_mri_SVD

        public void DSC_mri_SVD()
      • DSC_mri_cSVD

        public void DSC_mri_cSVD()
      • DSC_mri_oSVD

        public void DSC_mri_oSVD()
      • DSC_mri_mtt

        public void DSC_mri_mtt()
      • DSC_mri_ttp

        public void DSC_mri_ttp()
      • DSC_mri_fwhm

        public void DSC_mri_fwhm()
      • fwhm

        double fwhm​(double[] x,
                    double[] yorg)
      • vol2mat

        private double[][] vol2mat​(double[][][][] data,
                                   byte[][][] selected)
      • GVfunction

        private double[] GVfunction​(double[] p)
      • fitGV_peak1

        private void fitGV_peak1​(double[] dati,
                                 double[] orgWeights)
      • fitGV_peak2

        private void fitGV_peak2​(double[] dati,
                                 double[] weights)
      • GVfunction_recirculation

        private double[] GVfunction_recirculation​(double[] p)
      • GVfunction_peak1

        private double[] GVfunction_peak1​(double[] p)
      • clusterHierarchical

        private void clusterHierarchical​(double[][] dati,
                                         int nCluster,
                                         double[][] centroidi)
      • calculateREG

        private double[][] calculateREG​(byte[][] mask)
      • cumtrapz

        private double[] cumtrapz​(double[] f)
      • trapz

        private double trapz​(double[] f)
      • trapz

        private double[][] trapz​(double[][][] f)
      • saveImageFile

        private java.io.File saveImageFile​(ModelImage img,
                                           java.lang.String dir,
                                           java.lang.String fileBasename,
                                           int fileType)
      • saveImageFile

        private java.io.File saveImageFile​(ModelImage img,
                                           java.lang.String dir,
                                           java.lang.String fileBasename,
                                           int fileType,
                                           boolean alwaysSave)
      • calcZeroX

        public byte[] calcZeroX​(double[] buffer)
      • edgeDetect

        public byte[] edgeDetect​(double[] secondDerivBuffer)
      • makeGxxKernels1D

        private void makeGxxKernels1D()
        Creates Gaussian derivative kernels.
      • makeGxKernels1D

        private void makeGxKernels1D()
      • convolve

        private void convolve​(double[] imageBuffer,
                              double[] kernelBuffer,
                              double[] resultBuffer)
        Perform one-dimension convolution.
        Parameters:
        imageBuffer -
        kernelBuffer -
        resultBuffer - Problem is huge border effects. Convolution uses kernels of length going from 9 to 801 on buffer of length 100.
      • curveIntersect

        public void curveIntersect​(double[] x,
                                   double[] param)
      • curveintersect_local

        public void curveintersect_local​(double[] x1,
                                         double[] y1,
                                         double[] x2,
                                         double[] y2)
      • mminvinterp

        public void mminvinterp​(double[] x,
                                double[] y,
                                double yo)
      • interp1

        public double[] interp1​(double[] x,
                                double[] y,
                                double[] x_loc)
      • fitToExternalFunction

        public boolean fitToExternalFunction​(double[] x,
                                             double[] residuals,
                                             double[][] jacobian)
        Specified by:
        fitToExternalFunction in class CeresSolver