Class AlgorithmComplexToReal
- java.lang.Object
-
- java.lang.Thread
-
- gov.nih.mipav.model.algorithms.AlgorithmBase
-
- gov.nih.mipav.model.algorithms.utilities.AlgorithmComplexToReal
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.event.WindowListener
,java.lang.Runnable
,java.util.EventListener
public class AlgorithmComplexToReal extends AlgorithmBase
Simple algorithm that converts an RGB image to a single greyscale image.User can specify red, green, and blue scaling factors Default is equal weighting new gray value = ( R + G + B) / 3 if no threshold averaging; if thresholdAverage is true, only average values above trheshold
The standard for computer graphics is > Y = 0.299*R + 0.587*G + 0.114*B > > That assumes both Y and RGB are in the range 0:255 > > BT.601 calls for Y to be limited to 16:235, if you want > that multiply the constants by 219/255 and add 16 to Y.
Yes, but Y is not pure luminance, the other components it might be PbPr, CbCr carry color information that affect perceived brightness.
- Author:
- Justin Senseney
-
-
Field Summary
Fields Modifier and Type Field Description private float
blueValue
Weighting values for the red, green, and blue channels.private float
greenValue
Weighting values for the red, green, and blue channels.private boolean
intensityAverage
If true indicates that the result image is an average of the three channels.private float
redValue
Weighting values for the red, green, and blue channels.private float
thirdValue
This value equal one third (0.3333333).private float
threshold
Only average values above threshold.private boolean
thresholdAverage
If true only average values above threshold.-
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 AlgorithmComplexToReal(ModelImage srcImg)
Creates a new AlgorithmComplexToReal object.AlgorithmComplexToReal(ModelImage srcImg, float redValue, float greenValue, float blueValue, boolean thresholdAverage, float threshold, boolean intensityAverage)
Creates a new AlgorithmComplexToReal object.AlgorithmComplexToReal(ModelImage destImg, ModelImage srcImg)
Creates a new AlgorithmComplexToReal object.AlgorithmComplexToReal(ModelImage destImg, ModelImage srcImg, float redValue, float greenValue, float blueValue, boolean thresholdAverage, float threshold, boolean intensityAverage)
Creates a new AlgorithmComplexToReal object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
calcStoreInDest()
Calculates the gray scale image.private void
calcStoreInPlace()
Calculates the gray scale image.void
finalize()
Prepares this class for destruction.ModelImage
getSrcImage()
DOCUMENT ME!void
runAlgorithm()
Starts the program.-
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, 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
-
intensityAverage
private boolean intensityAverage
If true indicates that the result image is an average of the three channels. Default is false
-
redValue
private float redValue
Weighting values for the red, green, and blue channels. Default all channels = 0.33333
-
greenValue
private float greenValue
Weighting values for the red, green, and blue channels. Default all channels = 0.33333
-
blueValue
private float blueValue
Weighting values for the red, green, and blue channels. Default all channels = 0.33333
-
thirdValue
private float thirdValue
This value equal one third (0.3333333).
-
threshold
private float threshold
Only average values above threshold.
-
thresholdAverage
private boolean thresholdAverage
If true only average values above threshold.
-
-
Constructor Detail
-
AlgorithmComplexToReal
public AlgorithmComplexToReal(ModelImage srcImg)
Creates a new AlgorithmComplexToReal object.- Parameters:
srcImg
- source image model
-
AlgorithmComplexToReal
public AlgorithmComplexToReal(ModelImage destImg, ModelImage srcImg)
Creates a new AlgorithmComplexToReal object.- Parameters:
destImg
- image model where result image is to storedsrcImg
- source image model
-
AlgorithmComplexToReal
public AlgorithmComplexToReal(ModelImage srcImg, float redValue, float greenValue, float blueValue, boolean thresholdAverage, float threshold, boolean intensityAverage)
Creates a new AlgorithmComplexToReal object.- Parameters:
srcImg
- source image modelredValue
- weighting of the red channelgreenValue
- weighting of the green channelblueValue
- weighting of the blue channelthresholdAverage
- if true only average values above thresholdthreshold
- DOCUMENT ME!intensityAverage
- DOCUMENT ME!
-
AlgorithmComplexToReal
public AlgorithmComplexToReal(ModelImage destImg, ModelImage srcImg, float redValue, float greenValue, float blueValue, boolean thresholdAverage, float threshold, boolean intensityAverage)
Creates a new AlgorithmComplexToReal object.- Parameters:
destImg
- image model where result image is to storedsrcImg
- source image modelredValue
- weighting of the red channelgreenValue
- weighting of the green channelblueValue
- weighting of the blue channelthresholdAverage
- if true only average values above thresholdthreshold
- DOCUMENT ME!intensityAverage
- DOCUMENT ME!
-
-
Method Detail
-
finalize
public void finalize()
Prepares this class for destruction.- Overrides:
finalize
in classAlgorithmBase
-
getSrcImage
public ModelImage getSrcImage()
DOCUMENT ME!- Overrides:
getSrcImage
in classAlgorithmBase
- Returns:
- DOCUMENT ME!
-
runAlgorithm
public void runAlgorithm()
Starts the program.- Specified by:
runAlgorithm
in classAlgorithmBase
-
calcStoreInDest
private void calcStoreInDest()
Calculates the gray scale image.
-
calcStoreInPlace
private void calcStoreInPlace()
Calculates the gray scale image. Must use getSrcImage() after running this routine
-
-