Class AlgorithmFRETEfficiency
- All Implemented Interfaces:
ActionListener,WindowListener,Runnable,EventListener
Because FRET falls off as the sixth power of the distance between the donor and the acceptor, no FRET occurs for distances greater than 2R0. Since R0 is on the order of 10 to 70 Angstroms, by performing FRET measurements it is possible to distinguish proteins that are merely nearby in the same compartment from those proteins that are interacting with each other.
The code here is a port of the MATLAB routine Two_D_Sensitized_FRET provided by Dr. Stephen Lockett.
The code here requires 3 images - image donor and acceptor dyes taken with a donor filter, image with donor and acceptor dyes taken with a FRET filter, and image with donor and acceptor dyes taken with an acceptor filter. Only 1 color will be used from a color image.
The code here requires the user to provide 4 bleed thru parameters. AlgorithmFRETBleedThrough will be used to obtain the 4 bleed thru parameters. The DFP into FRET bleed thru and the DFP into AFP bleed thru will be obtained from 1 run of AlgorithmFRETBleedThrough on a set of 3 images containing donor dye only. The AFP into FRET bleed thru and the AFP into DFP bleed thru will be obtained from 1 run of AlgorithmFRETBleedThrough on a set of 3 images containing acceptor dye only. Then AlgorithmFRETEfficiency is run with a set of 3 images containing both donor and acceptor dye, so obtaining the FRET efficiency requires a set of 9 images.
The code here assumes the presence of 2 or more VOI regions - a backgorund region and 1 or more active regions whose areas are used for the efficiency calculations. Pixels with saturation values in any of the 3 images are excluded from all calculations. The VOIs must all be placed in the source image and the source image must be the image with donor and acceptor dyes taken with a donor fluorescent peak filter. Radio buttons in the dialog box are used to select an active VOI or a blue background VOI. Either an ellipse VOI, rectangle VOI, levelset VOI, or polyline VOI will be selected from the top MIPAV toolbar. Hit the NEW_VOI button to create other active VOIs. Just do not use blue as an active VOI color. The background region will have a smaller average intensity than the active region.
This program outputs the FRET efficiency and the adjusted donor and adjusted acceptor intensities for each active VOI region. Optionally, the user may create floating point images with the adjustedFRET/adjusted donor, adjustedFRET/adjusted acceptor or efficiency given at every pixel location.
Reference: 1.) "Imaging Protein-Protein Interactions Using Fluorescence Energy Transfer Microscopy" by Anne K. Kenworthy, Methods, 24, 2001, pp. 289 - 296.
2.) "Quantitative Fluorescence Resonance Energy Transfer Measurements Using Fluorescence Microscopy" by Gerald W. Gordon, Gail Berry, Xiao Huan Liang, Beth Levine, and Brian Herman, Biophysical Journal, Volume 74, May, 1998, pp. 2702-2713.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ModelImageDOCUMENT ME!private floatDOCUMENT ME!private floatDOCUMENT ME!private floatDOCUMENT ME!private floatDOCUMENT ME!private ModelImageDOCUMENT ME!private ModelImageDOCUMENT ME!private ModelImageDOCUMENT ME!private ModelImageprivate ModelImage donorImage; // image taken with donor filter.private ViewUserInterfaceDOCUMENT ME!private booleanDOCUMENT ME!private booleanDOCUMENT ME!private booleanDOCUMENT ME!Fields 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
ConstructorsConstructorDescriptionAlgorithmFRETEfficiency(ModelImage donorImage, ModelImage FRETImage, ModelImage acceptorImage, boolean useRed, boolean useGreen, boolean useBlue, float DFPintoFRET, float AFPintoFRET, float DFPintoAFP, float AFPintoDFP, ModelImage fDivDImage, ModelImage fDivAImage, ModelImage efficiencyImage) Creates a new AlgorithmFRETEfficiency 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
-
acceptorImage
DOCUMENT ME! -
AFPintoDFP
private float AFPintoDFPDOCUMENT ME! -
AFPintoFRET
private float AFPintoFRETDOCUMENT ME! -
DFPintoAFP
private float DFPintoAFPDOCUMENT ME! -
DFPintoFRET
private float DFPintoFRETDOCUMENT ME! -
efficiencyImage
DOCUMENT ME! -
fDivAImage
DOCUMENT ME! -
fDivDImage
DOCUMENT ME! -
FRETImage
private ModelImage donorImage; // image taken with donor filter. -
UI
DOCUMENT ME! -
useBlue
private boolean useBlueDOCUMENT ME! -
useGreen
private boolean useGreenDOCUMENT ME! -
useRed
private boolean useRedDOCUMENT ME!
-
-
Constructor Details
-
AlgorithmFRETEfficiency
public AlgorithmFRETEfficiency(ModelImage donorImage, ModelImage FRETImage, ModelImage acceptorImage, boolean useRed, boolean useGreen, boolean useBlue, float DFPintoFRET, float AFPintoFRET, float DFPintoAFP, float AFPintoDFP, ModelImage fDivDImage, ModelImage fDivAImage, ModelImage efficiencyImage) Creates a new AlgorithmFRETEfficiency object.- Parameters:
donorImage- image taken with donor filterFRETImage- image taken with FRET filteracceptorImage- image taken with acceptor filteruseRed- If true, use the red color values for the FRETuseGreen- If true, use the green color values for the FRETuseBlue- If true, use the blue color values for the FRETDFPintoFRET- DOCUMENT ME!AFPintoFRET- DOCUMENT ME!DFPintoAFP- DOCUMENT ME!AFPintoDFP- DOCUMENT ME!fDivDImage- If not null, create adjusted FRET/adjusted donor image.fDivAImage- If not null, create adjusted FRET/adjusted acceptor image.efficiencyImage- If not null, create efficiency image.
-
-
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
-