Package gov.nih.mipav.model.algorithms
Class AlgorithmDEMRI3
java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmDEMRI3
- All Implemented Interfaces:
ActionListener,WindowListener,Runnable,EventListener
3 model parameters are fit for each voxel in 3D:
1) K_trans in [0, 0.99]
2) User choice of k_ep in [0, 0.99] or ve
3) f_vp in [0, 0.99]
K_trans and k_ep default to rates per second, but the user changed select rates per minute.
srcImage is a dynamic "4D volume" of MRI signal (3D over time).
An optional intrinsic relaxivity map may be obtained by acquiring two acquisition scans at low and high
flip angles; otherwise, a single tissue relaxivity can be assumed for the whole brain.
References:
1.) "A Unified Magnetic Resonance Imaging Pharmacokinetic Theory: Intravascular and Extracellular Contrast
Reagents" by Xin Li, William D. Rooney, and Charles S. Springer, Jr., Magnetic Resonance in Medicine,
Vol. 54, 2005, pp. 1351-1359.
2.) Erratum: Magnetic Resonance in Medicine, Vol. 55, 2006, p.1217.
3.) Quantitative MRI of the Brain, Edited by Paul Tofts, 2003, John Wiley invalid input: '&' Sons, Ltd.,
ISBN: 0-47084721-2, Chapter 10, T1-w DCE-MRI: T1-weighted Dynamic Contrast-enhanced MRI by
Geoff J. M. Parker and Anwar R. Padhani.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) classDOCUMENT ME!(package private) classDOCUMENT ME!(package private) classNested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate double[]private doubleprivate double[]private doubleprivate intprivate int(package private) double[]private double[]private double[]private double[]1D Mp(t) data from sagittal sinus VOIprivate intnfirst injection TR index of input dataset (0 - 1000) Number of TRs before Gd injectionprivate booleanIf perMinute == false, K_trans and k_ep are per second If perMinute == true, K_trans and k_ep are per minuteprivate doubleContrast relaxivity rate in 1/(mMol*sec) (0.0 - 1000.0)private double[]non-uniform tissue intrinsic relaxivity map from input 3d + t = 4D imageprivate doubleblood intrinsic relaxivity rate in 1/(mMol * sec) input as reciprocal, in seconds (0.001 - 10000.0)private doubletissue intrinsic relaxivity rate in 1/(mMol * sec) specified as reciprocal, in seconds (0.001 - 10000.0)private intprivate intprivate doubleTime between frames (volumes) in seconds (0.1 - 30.0)private doubleFlip angle in degrees (0.0 - 90.0)private ModelImageprivate intprivate doubleTime between shots in seconds (0.0 - 10000.0)private booleanIf true, user specifed rib, otherwise, voi specified ribprivate booleanIf false, second parameter is back-transfer rate (k_ep) If true, Second parameter is external celluar volume fraction (ve)private intprivate intprivate double[]private intFields inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
destFlag, destImage, image25D, mask, maxProgressValue, minProgressValue, multiThreadingEnabled, nthreads, progress, progressModulus, progressStep, runningInSeparateThread, separable, srcImage, threadStoppedFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
ConstructorsConstructorDescriptionAlgorithmDEMRI3(ModelImage destImage, ModelImage srcImage, double[] min_constr, double[] max_constr, double r1, boolean userSpecifiedBlood, double rib, int tissueSource, double rit, ModelImage tissueImage, double theta, double tr, boolean perMinute, int nFirst, boolean useVe) Creates a new AlgorithmDEMRI3 object. -
Method Summary
Modifier and TypeMethodDescriptionvoidfinalize()Prepares this class for destruction.voidstarts the algorithm.Methods inherited from class gov.nih.mipav.model.algorithms.AlgorithmBase
actionPerformed, addListener, addProgressChangeListener, calculateImageSize, calculatePrincipleAxis, computeElapsedTime, computeElapsedTime, convertIntoFloat, delinkProgressToAlgorithm, delinkProgressToAlgorithmMulti, displayError, errorCleanUp, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, fireProgressStateChanged, generateProgressValues, getDestImage, getElapsedTime, getMask, getMaxProgressValue, getMinProgressValue, getNumberOfThreads, getProgress, getProgressChangeListener, getProgressChangeListeners, getProgressModulus, getProgressStep, getProgressValues, getSrcImage, isCompleted, isImage25D, isMultiThreadingEnabled, isRunningInSeparateThread, isThreadStopped, linkProgressToAlgorithm, linkProgressToAlgorithm, makeProgress, notifyListeners, removeListener, removeProgressChangeListener, run, setCompleted, setImage25D, setMask, setMaxProgressValue, setMinProgressValue, setMultiThreadingEnabled, setNumberOfThreads, setProgress, setProgressModulus, setProgressStep, setProgressValues, setProgressValues, setRunningInSeparateThread, setSrcImage, setStartTime, setThreadStopped, startMethod, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpenedMethods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
-
Field Details
-
FIRST_VOLUME_TISSUE
private int FIRST_VOLUME_TISSUE -
SEPARATE_VOLUME_TISSUE
private int SEPARATE_VOLUME_TISSUE -
r1
private double r1Contrast relaxivity rate in 1/(mMol*sec) (0.0 - 1000.0) -
userSpecifiedBlood
private boolean userSpecifiedBloodIf true, user specifed rib, otherwise, voi specified rib -
rib
private double ribblood intrinsic relaxivity rate in 1/(mMol * sec) input as reciprocal, in seconds (0.001 - 10000.0) -
tissueSource
private int tissueSource -
rit
private double rittissue intrinsic relaxivity rate in 1/(mMol * sec) specified as reciprocal, in seconds (0.001 - 10000.0) -
r1i
private double[] r1inon-uniform tissue intrinsic relaxivity map from input 3d + t = 4D image -
theta
private double thetaFlip angle in degrees (0.0 - 90.0) -
tr
private double trTime between shots in seconds (0.0 - 10000.0) -
tf
private double tfTime between frames (volumes) in seconds (0.1 - 30.0) -
perMinute
private boolean perMinuteIf perMinute == false, K_trans and k_ep are per second If perMinute == true, K_trans and k_ep are per minute -
mp
private double[] mp1D Mp(t) data from sagittal sinus VOI -
nFirst
private int nFirstnfirst injection TR index of input dataset (0 - 1000) Number of TRs before Gd injection -
useVe
private boolean useVeIf false, second parameter is back-transfer rate (k_ep) If true, Second parameter is external celluar volume fraction (ve) -
epsilon
private double epsilon -
min_constr
private double[] min_constr -
max_constr
private double[] max_constr -
comp
private double[] comp -
elist
private double[] elist -
ymodel
private double[] ymodel -
i
private int i -
xDim
private int xDim -
yDim
private int yDim -
zDim
private int zDim -
tDim
private int tDim -
cos0
private double cos0 -
initial
double[] initial -
tissueImage
-
-
Constructor Details
-
AlgorithmDEMRI3
public AlgorithmDEMRI3(ModelImage destImage, ModelImage srcImage, double[] min_constr, double[] max_constr, double r1, boolean userSpecifiedBlood, double rib, int tissueSource, double rit, ModelImage tissueImage, double theta, double tr, boolean perMinute, int nFirst, boolean useVe) Creates a new AlgorithmDEMRI3 object.
-
-
Method Details
-
finalize
public void finalize()Prepares this class for destruction.- Overrides:
finalizein classAlgorithmBase
-
runAlgorithm
public void runAlgorithm()starts the algorithm.- Specified by:
runAlgorithmin classAlgorithmBase
-