Class AlgorithmFRETEfficiency
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.AlgorithmFRETEfficiency
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.event.WindowListener
,java.lang.Runnable
,java.util.EventListener
public class AlgorithmFRETEfficiency extends AlgorithmBase
Fluorescence Resonance Energy Transfer FRET refers to the nonradiative transfer of energy from an excited state donor fluorescent molecule to a nearby acceptor fluorescent molecule. The energy transfer efficiency E, defined as the number of energy transfer events divided by the number of photons absorbed by the donor, is related to the distance R between the acceptor and donor by: E = 1/[1 + (r/R0)**6] (eq. 1) where R0, the Forster critical distance, is the distance at which E = 0.5. We also have E = 1 - FDA/FD, (eq. 2) where FDA is the donor fluorescence in the presence of an acceptor and FD is the donor fluorescence in the absence of the acceptor. The equivalent of an acceptor's absence can be created by photobleaching the acceptor. Thus, a method using equation 2, can be performed on a single sample by measuring the donor fluorescence before and after photobleaching the acceptor molecules.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.
-
-
Field Summary
Fields Modifier and Type Field Description private ModelImage
acceptorImage
DOCUMENT ME!private float
AFPintoDFP
DOCUMENT ME!private float
AFPintoFRET
DOCUMENT ME!private float
DFPintoAFP
DOCUMENT ME!private float
DFPintoFRET
DOCUMENT ME!private ModelImage
efficiencyImage
DOCUMENT ME!private ModelImage
fDivAImage
DOCUMENT ME!private ModelImage
fDivDImage
DOCUMENT ME!private ModelImage
FRETImage
private ModelImage donorImage; // image taken with donor filter.private ViewUserInterface
UI
DOCUMENT ME!private boolean
useBlue
DOCUMENT ME!private boolean
useGreen
DOCUMENT ME!private boolean
useRed
DOCUMENT 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, threadStopped
-
-
Constructor Summary
Constructors Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
finalize()
Prepares this class for destruction.void
runAlgorithm()
starts 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, windowOpened
-
Methods 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, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
acceptorImage
private ModelImage acceptorImage
DOCUMENT ME!
-
AFPintoDFP
private float AFPintoDFP
DOCUMENT ME!
-
AFPintoFRET
private float AFPintoFRET
DOCUMENT ME!
-
DFPintoAFP
private float DFPintoAFP
DOCUMENT ME!
-
DFPintoFRET
private float DFPintoFRET
DOCUMENT ME!
-
efficiencyImage
private ModelImage efficiencyImage
DOCUMENT ME!
-
fDivAImage
private ModelImage fDivAImage
DOCUMENT ME!
-
fDivDImage
private ModelImage fDivDImage
DOCUMENT ME!
-
FRETImage
private ModelImage FRETImage
private ModelImage donorImage; // image taken with donor filter.
-
UI
private ViewUserInterface UI
DOCUMENT ME!
-
useBlue
private boolean useBlue
DOCUMENT ME!
-
useGreen
private boolean useGreen
DOCUMENT ME!
-
useRed
private boolean useRed
DOCUMENT ME!
-
-
Constructor Detail
-
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 Detail
-
finalize
public void finalize()
Prepares this class for destruction.- Overrides:
finalize
in classAlgorithmBase
-
runAlgorithm
public void runAlgorithm()
starts the algorithm.- Specified by:
runAlgorithm
in classAlgorithmBase
-
-