Class SoilCaresScannerSpectrumReader

  • 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 SoilCaresScannerSpectrumReader
    extends AbstractSpectrumReader
    Reads spectra from ZIP files generated by the SoilCares Scanner app.

    -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-type <BACK|CORR|SC> (property: spectrumType)
        The type of spectrum to read from the data.
        default: SC
     
    -amplitude-type <INTERFEROGRAM|SPECTRUM|ABSORBANCE> (property: amplitudeType)
        The type of amplitude to read from the data.
        default: ABSORBANCE
     
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • SoilCaresScannerSpectrumReader

        public SoilCaresScannerSpectrumReader()
    • 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 AbstractSpectrumReader
      • 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 fospectralDatar 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 (without the dot!)
      • spectrumTypeTipText

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

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

        protected SampleData readMetaData​(ZipFile zip,
                                          ZipEntry entry)
        Reads the meta-data from the zip file.
        Parameters:
        zip - the zip file
        entry - the entry with the meta-data
        Returns:
        the meta-data
      • readSpectrum

        protected Spectrum readSpectrum​(ZipFile zip,
                                        ZipEntry entry)
        Reads the spectrum from the specified zip entry.
        Parameters:
        zip - the zip file
        entry - the entry to read
        Returns:
        the spectrum, null if failed to read
      • 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