Class DSC_MRI_toolbox

java.lang.Object
gov.nih.mipav.model.algorithms.CeresSolver
gov.nih.mipav.model.algorithms.DSC_MRI_toolbox

public class DSC_MRI_toolbox extends CeresSolver
  • Field Details

    • UI

      private ViewUserInterface UI
    • volumes

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

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

      private double[][][] AIFslice
    • srcImage

      private ModelImage srcImage
    • 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 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 String outputFilePath
    • inputFileName

      private String inputFileName
    • outputPrefix

      private 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
    • sliceAifFile

      File sliceAifFile
  • Constructor Details

    • DSC_MRI_toolbox

      public DSC_MRI_toolbox()
    • DSC_MRI_toolbox

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

      public DSC_MRI_toolbox(double[][][][] volumes, double te, double tr, int aif_nSlice, String outputFilePath)
  • Method Details

    • 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 File saveImageFile(ModelImage img, String dir, String fileBasename, int fileType)
    • saveImageFile

      private File saveImageFile(ModelImage img, String dir, 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
    • getSliceAifFile

      public File getSliceAifFile()