Class OpusSpectrumReaderExt

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, adams.core.CleanUpHandler, adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.io.FileFormatHandler, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.ShallowCopySupporter<adams.data.io.input.AbstractDataContainerReader>, adams.core.SizeOfHandler, adams.core.Stoppable, Serializable, Comparable

    public class OpusSpectrumReaderExt
    extends AbstractSpectrumReader
    Reads spectra in OPUS format (extended version).

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -input <adams.core.io.PlaceholderFile> (property: input)
        The file to read and turn into a container.
        default: ${CWD}
     
    -create-dummy-report <boolean> (property: createDummyReport)
        If true, then a dummy report is created if none present.
        default: false
     
    -instrument <java.lang.String> (property: instrument)
        The name of the instrument that generated the spectra (if not already present
        in data).
        default: unknown
     
    -format <java.lang.String> (property: format)
        The data format string.
        default: NIR
     
    -keep-format <boolean> (property: keepFormat)
        If enabled the format obtained from the file is not replaced by the format
        defined here.
        default: false
     
    -use-absolute-source <boolean> (property: useAbsoluteSource)
        If enabled the source report field stores the absolute file name rather
        than just the name.
        default: false
     
    -spectrum-block-type <java.lang.String> (property: spectrumBlockType)
        The block type of the spectrum to extract, in hex notation; e.g.: 100f
        default: 100f
     
    -operation <java.lang.String> (property: operation)
        The command-line operation to get the sample ID from, e.g., 'MeasureSample'
        .
        default: MeasureSample
     
    -key <java.lang.String> (property: key)
        The command-line key to get the sample ID from, e.g, 'NAM'.
        default: SNM
     
    -all-spectra <boolean> (property: allSpectra)
        If enabled, all spectra stored in the file are loaded.
        default: false
     
    -add-command-lines <boolean> (property: addCommandLines)
        If enabled, the other command-lines extracted from the file gets added to
        the report.
        default: false
     
    -add-log <boolean> (property: addLog)
        If enabled, the entire log extracted from the file gets added to the report.
        default: false
     
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_SpectrumBlockType

        protected String m_SpectrumBlockType
        the hex mask for the spectrum to extract.
      • m_Operation

        protected String m_Operation
        the commandline in the log to use for extracting the sample ID.
      • m_Key

        protected String m_Key
        the key in the commandline to get the sample ID from.
      • m_AllSpectra

        protected boolean m_AllSpectra
        whether to load all spectra.
      • m_AddCommandLines

        protected boolean m_AddCommandLines
        whether to add the meta-data of the other commandlines.
      • m_AddLog

        protected boolean m_AddLog
        whether to add the complete log to the report.
    • Constructor Detail

      • OpusSpectrumReaderExt

        public OpusSpectrumReaderExt()
    • 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
      • getFormatDescription

        public String getFormatDescription()
        Returns a string describing the format (used in the file chooser).
        Specified by:
        getFormatDescription in interface adams.core.io.FileFormatHandler
        Specified by:
        getFormatDescription in class adams.data.io.input.AbstractDataContainerReader<Spectrum>
        Returns:
        a description suitable for displaying in the file chooser
      • getFormatExtensions

        public String[] getFormatExtensions()
        Returns the extension(s) of the format.
        Specified by:
        getFormatExtensions in interface adams.core.io.FileFormatHandler
        Specified by:
        getFormatExtensions in class adams.data.io.input.AbstractDataContainerReader<Spectrum>
        Returns:
        the extension(s) (without the dot!)
      • 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 AbstractSpectrumReader
      • setSpectrumBlockType

        public void setSpectrumBlockType​(String value)
        Sets the block type of the spectrum to extract.
        Parameters:
        value - the block type (in hex)
      • getSpectrumBlockType

        public String getSpectrumBlockType()
        Returns the block type of the spectrum to extract.
        Returns:
        the block type (in hex)
      • spectrumBlockTypeTipText

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

        public void setOperation​(String value)
        Sets the command-line operation from which to retrieve the sample ID.
        Parameters:
        value - the operation, e.g., "MeasureSample"
      • getOperation

        public String getOperation()
        Returns the command-line operation from which to retrieve the sample ID.
        Returns:
        the operation, e.g., "MeasureSample"
      • operationTipText

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

        public void setKey​(String value)
        Sets the command-line key from which to retrieve the sample ID.
        Parameters:
        value - the key, e.g., "NAM"
      • getKey

        public String getKey()
        Returns the command-line key from which to retrieve the sample ID.
        Returns:
        the key, e.g., "NAM"
      • keyTipText

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

        public void setAllSpectra​(boolean value)
        Sets whether to load all spectra.
        Parameters:
        value - true if to load all spectra
      • getAllSpectra

        public boolean getAllSpectra()
        Returns whether to load all spectra.
        Returns:
        true if to load all spectra
      • allSpectraTipText

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

        public void setAddCommandLines​(boolean value)
        Sets whether to add the other command-lines to the report.
        Parameters:
        value - true if to add the command-lines
      • getAddCommandLines

        public boolean getAddCommandLines()
        Returns whether to add the other command-lines to the report.
        Returns:
        true if to add the command-lines
      • addCommandLinesTipText

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

        public void setAddLog​(boolean value)
        Sets whether to add the entire log to the report.
        Parameters:
        value - true if to add the log
      • getAddLog

        public boolean getAddLog()
        Returns whether to add the entire log to the report.
        Returns:
        true if to add the log
      • addLogTipText

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

        protected void addReportValue​(SampleData sd,
                                      String name,
                                      adams.data.report.DataType type,
                                      Object value)
        Adds the field to the report.
        Parameters:
        sd - the sample data to add the data to
        name - the name of the field
        type - the field type
        value - the value
      • findSpectra

        protected void findSpectra​(byte[] buf,
                                   List<OpusBlockHelper.Block> blocks)
        Locates the spectra and adds them to AbstractDataContainerReader.m_ReadData.
        Parameters:
        buf - the file content
        blocks - the blocks
      • readData

        protected void readData()
        Performs the actual reading.
        Specified by:
        readData in class adams.data.io.input.AbstractDataContainerReader<Spectrum>
      • main

        public static void main​(String[] args)
        Runs the reader from the command-line. If the option AbstractSpectrumReader.OPTION_OUTPUTDIR is specified then the read spectra get output as .spec files in that directory.
        Parameters:
        args - the command-line options to use