Class SpectrumToBufferedImage

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, adams.core.CleanUpHandler, adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.QuickInfoSupporter, adams.core.ShallowCopySupporter<adams.data.conversion.AbstractConversion>, adams.core.SizeOfHandler, adams.core.Stoppable, adams.data.conversion.Conversion, Serializable

    public class SpectrumToBufferedImage
    extends adams.data.conversion.AbstractConversion
    Converts a spectrum into an image by treating it like an audio signal, and producing a spectrogram for it.

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -fft-sample-size <int> (property: FFTSampleSize)
        The sample size for the fast fourier transformation; must be a power of
        2.
        default: 1024
        minimum: 2
     
    -overlap-factor <int> (property: overlapFactor)
        The overlap factor (1/factor), eg 4 = 1/4 = 25%; 0 = no overlap.
        default: 0
        minimum: 0
     
    -generator <adams.gui.visualization.core.ColorGradientGenerator> (property: generator)
        The generator to use for creating the gradient colors.
        default: adams.gui.visualization.core.BiColorGenerator
     
    Converts a spectrum into an image by treating it like an audio signal, and producing a spectrogram for it.
    Author:
    Corey Sterling (csterlin at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected gnu.trove.map.TIntIntMap m_ColorLookup
      the lookup table.
      protected int m_FFTSampleSize
      the FFT sample size (power of 2).
      protected adams.gui.visualization.core.ColorGradientGenerator m_Generator
      the generator to use.
      protected Color[] m_GradientColors
      the gradient colors.
      protected int m_OverlapFactor
      the overlap factor (1/factor).
      • Fields inherited from class adams.data.conversion.AbstractConversion

        m_Input, m_Output, m_Owner, m_Stopped
      • Fields inherited from class adams.core.option.AbstractOptionHandler

        m_OptionManager
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Class accepts()
      Returns the class that is accepted as input.
      void defineOptions()
      Adds options to the internal list of options.
      protected Object doConvert()
      Performs the actual conversion.
      String FFTSampleSizeTipText()
      Returns the tip text for this property.
      Class generates()
      Returns the class that is generated as output.
      String generatorTipText()
      Returns the tip text for this property.
      protected gnu.trove.map.TIntIntMap getColorLookup()
      Generates the color lookup.
      int getFFTSampleSize()
      Returns the FFT samepl size (power of 2).
      adams.gui.visualization.core.ColorGradientGenerator getGenerator()
      Returns the color generator.
      protected Color[] getGradientColors()
      Generates the gradient colors.
      int getOverlapFactor()
      Returns the overlap factor (1/factor).
      String globalInfo()
      Returns a string describing the object.
      String overlapFactorTipText()
      Returns the tip text for this property.
      protected void reset()
      Resets the object.
      void setFFTSampleSize​(int value)
      Sets the FFT sample size (power of 2).
      void setGenerator​(adams.gui.visualization.core.ColorGradientGenerator value)
      Sets the color generator.
      void setOverlapFactor​(int value)
      Sets the overlap factor (1/factor).
      • Methods inherited from class adams.data.conversion.AbstractConversion

        checkData, cleanUp, convert, getAdditionalInformation, getInput, getInput, getOutput, getOutput, getOwner, getQuickInfo, setInput, setOwner, shallowCopy, shallowCopy, stopExecution
      • Methods inherited from class adams.core.option.AbstractOptionHandler

        cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
      • Methods inherited from class adams.core.logging.LoggingObject

        configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel
    • Field Detail

      • m_FFTSampleSize

        protected int m_FFTSampleSize
        the FFT sample size (power of 2).
      • m_OverlapFactor

        protected int m_OverlapFactor
        the overlap factor (1/factor).
      • m_Generator

        protected adams.gui.visualization.core.ColorGradientGenerator m_Generator
        the generator to use.
      • m_GradientColors

        protected transient Color[] m_GradientColors
        the gradient colors.
      • m_ColorLookup

        protected transient gnu.trove.map.TIntIntMap m_ColorLookup
        the lookup table.
    • Constructor Detail

      • SpectrumToBufferedImage

        public SpectrumToBufferedImage()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.core.option.AbstractOptionHandler
        Returns:
        a description suitable for displaying in the gui
      • defineOptions

        public void defineOptions()
        Adds options to the internal list of options.
        Specified by:
        defineOptions in interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class adams.core.option.AbstractOptionHandler
      • reset

        protected void reset()
        Resets the object.
        Overrides:
        reset in class adams.data.conversion.AbstractConversion
      • accepts

        public Class accepts()
        Returns the class that is accepted as input.
        Specified by:
        accepts in interface adams.data.conversion.Conversion
        Specified by:
        accepts in class adams.data.conversion.AbstractConversion
        Returns:
        the class
      • generates

        public Class generates()
        Returns the class that is generated as output.
        Specified by:
        generates in interface adams.data.conversion.Conversion
        Specified by:
        generates in class adams.data.conversion.AbstractConversion
        Returns:
        the class
      • setFFTSampleSize

        public void setFFTSampleSize​(int value)
        Sets the FFT sample size (power of 2).
        Parameters:
        value - the sample size
      • getFFTSampleSize

        public int getFFTSampleSize()
        Returns the FFT samepl size (power of 2).
        Returns:
        the sample size
      • FFTSampleSizeTipText

        public String FFTSampleSizeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setOverlapFactor

        public void setOverlapFactor​(int value)
        Sets the overlap factor (1/factor).
        Parameters:
        value - the factor
      • getOverlapFactor

        public int getOverlapFactor()
        Returns the overlap factor (1/factor).
        Returns:
        the factor
      • overlapFactorTipText

        public String overlapFactorTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setGenerator

        public void setGenerator​(adams.gui.visualization.core.ColorGradientGenerator value)
        Sets the color generator.
        Parameters:
        value - the generator
      • getGenerator

        public adams.gui.visualization.core.ColorGradientGenerator getGenerator()
        Returns the color generator.
        Returns:
        the generator
      • generatorTipText

        public String generatorTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • getGradientColors

        protected Color[] getGradientColors()
        Generates the gradient colors.
        Returns:
        the colors
      • getColorLookup

        protected gnu.trove.map.TIntIntMap getColorLookup()
        Generates the color lookup.
        Returns:
        the colors
      • doConvert

        protected Object doConvert()
                            throws Exception
        Performs the actual conversion.
        Specified by:
        doConvert in class adams.data.conversion.AbstractConversion
        Returns:
        the converted data
        Throws:
        Exception - if something goes wrong with the conversion