Class AlgorithmComplexToReal
java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.utilities.AlgorithmComplexToReal
- All Implemented Interfaces:
ActionListener,WindowListener,Runnable,EventListener
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
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate floatWeighting values for the red, green, and blue channels.private floatWeighting values for the red, green, and blue channels.private booleanIf true indicates that the result image is an average of the three channels.private floatWeighting values for the red, green, and blue channels.private floatThis value equal one third (0.3333333).private floatOnly average values above threshold.private booleanIf 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, threadStoppedFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
ConstructorsConstructorDescriptionAlgorithmComplexToReal(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
Modifier and TypeMethodDescriptionprivate voidCalculates the gray scale image.private voidCalculates the gray scale image.voidfinalize()Prepares this class for destruction.DOCUMENT ME!voidStarts 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, 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
-
intensityAverage
private boolean intensityAverageIf true indicates that the result image is an average of the three channels. Default is false -
redValue
private float redValueWeighting values for the red, green, and blue channels. Default all channels = 0.33333 -
greenValue
private float greenValueWeighting values for the red, green, and blue channels. Default all channels = 0.33333 -
blueValue
private float blueValueWeighting values for the red, green, and blue channels. Default all channels = 0.33333 -
thirdValue
private float thirdValueThis value equal one third (0.3333333). -
threshold
private float thresholdOnly average values above threshold. -
thresholdAverage
private boolean thresholdAverageIf true only average values above threshold.
-
-
Constructor Details
-
AlgorithmComplexToReal
Creates a new AlgorithmComplexToReal object.- Parameters:
srcImg- source image model
-
AlgorithmComplexToReal
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 Details
-
finalize
public void finalize()Prepares this class for destruction.- Overrides:
finalizein classAlgorithmBase
-
getSrcImage
DOCUMENT ME!- Overrides:
getSrcImagein classAlgorithmBase- Returns:
- DOCUMENT ME!
-
runAlgorithm
public void runAlgorithm()Starts the program.- Specified by:
runAlgorithmin 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
-