Package adams.data.io.input
Class SoilCaresScannerSpectrumReader
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.io.input.AbstractDataContainerReader<Spectrum>
-
- adams.data.io.input.AbstractSpectrumReader
-
- adams.data.io.input.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SoilCaresScannerSpectrumReader.AmplitudeType
Determines the type of amplitudes to load.static class
SoilCaresScannerSpectrumReader.SpectrumType
Determines the type of spectrum to load.
-
Field Summary
Fields Modifier and Type Field Description static String
ABSORBANCE
the column name for the wavelengths.static String
INTERFEROGRAM
the column name for the interferogram.protected SoilCaresScannerSpectrumReader.AmplitudeType
m_AmplitudeType
the type of amplitude to read for a spectrum.protected SoilCaresScannerSpectrumReader.SpectrumType
m_SpectrumType
the type of spectrum to read.static String
METADATA
the name of the metadata file.static String
SPECTRUM
the column name for the spectrum.static String
SUFFIX_BACK
the suffix for 'back' files.static String
SUFFIX_CORR
the suffix for 'corr' files.static String
SUFFIX_DEVICE
the suffix for 'device' files.static String
SUFFIX_SC
the suffix for 'sc' files.static String
WAVELENGTH
the column name for the wavelengths.-
Fields inherited from class adams.data.io.input.AbstractSpectrumReader
m_Format, m_Instrument, m_KeepFormat, m_Stopped, m_UseAbsoluteSource, OPTION_OUTPUTDIR
-
-
Constructor Summary
Constructors Constructor Description SoilCaresScannerSpectrumReader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
amplitudeTypeTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.SoilCaresScannerSpectrumReader.AmplitudeType
getAmplitudeType()
Returns the type of amplitude to read.String
getFormatDescription()
Returns a string describing the format (used in the file chooser).String[]
getFormatExtensions()
Returns the extension(s) of the format.SoilCaresScannerSpectrumReader.SpectrumType
getSpectrumType()
Returns the type of spectrum to read.String
globalInfo()
Returns a string describing the object.static void
main(String[] args)
Runs the reader from the command-line.protected void
readData()
Performs the actual reading.protected SampleData
readMetaData(ZipFile zip, ZipEntry entry)
Reads the meta-data from the zip file.protected Spectrum
readSpectrum(ZipFile zip, ZipEntry entry)
Reads the spectrum from the specified zip entry.void
setAmplitudeType(SoilCaresScannerSpectrumReader.AmplitudeType value)
Sets the type of amplitude to read.void
setSpectrumType(SoilCaresScannerSpectrumReader.SpectrumType value)
Sets the type of spectrum to read.String
spectrumTypeTipText()
Returns the tip text for this property.-
Methods inherited from class adams.data.io.input.AbstractSpectrumReader
checkData, createDummyReport, formatTipText, getDefaultFormat, getDefaultInstrument, getDefaultKeepFormat, getDefaultUseAbsoluteSource, getFormat, getInstrument, getKeepFormat, getReaders, getUseAbsoluteSource, instrumentTipText, keepFormatTipText, postProcessData, runReader, setFormat, setInstrument, setKeepFormat, setUseAbsoluteSource, stopExecution, useAbsoluteSourceTipText
-
Methods inherited from class adams.data.io.input.AbstractDataContainerReader
cleanUp, compareTo, createDummyReportTipText, destroy, doRead, equals, getAdditionalInformation, getCreateDummyReport, getDefaultFormatExtension, getInput, initialize, inputTipText, isInputFile, read, reset, setCreateDummyReport, setInput, shallowCopy, shallowCopy
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
-
-
-
Field Detail
-
SUFFIX_BACK
public static final String SUFFIX_BACK
the suffix for 'back' files.- See Also:
- Constant Field Values
-
SUFFIX_CORR
public static final String SUFFIX_CORR
the suffix for 'corr' files.- See Also:
- Constant Field Values
-
SUFFIX_SC
public static final String SUFFIX_SC
the suffix for 'sc' files.- See Also:
- Constant Field Values
-
SUFFIX_DEVICE
public static final String SUFFIX_DEVICE
the suffix for 'device' files.- See Also:
- Constant Field Values
-
METADATA
public static final String METADATA
the name of the metadata file.- See Also:
- Constant Field Values
-
INTERFEROGRAM
public static final String INTERFEROGRAM
the column name for the interferogram.- See Also:
- Constant Field Values
-
WAVELENGTH
public static final String WAVELENGTH
the column name for the wavelengths.- See Also:
- Constant Field Values
-
SPECTRUM
public static final String SPECTRUM
the column name for the spectrum.- See Also:
- Constant Field Values
-
ABSORBANCE
public static final String ABSORBANCE
the column name for the wavelengths.- See Also:
- Constant Field Values
-
m_SpectrumType
protected SoilCaresScannerSpectrumReader.SpectrumType m_SpectrumType
the type of spectrum to read.
-
m_AmplitudeType
protected SoilCaresScannerSpectrumReader.AmplitudeType m_AmplitudeType
the type of amplitude to read for a spectrum.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.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 interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classAbstractSpectrumReader
-
getFormatDescription
public String getFormatDescription()
Returns a string describing the format (used in the file chooser).- Specified by:
getFormatDescription
in interfaceadams.core.io.FileFormatHandler
- Specified by:
getFormatDescription
in classadams.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 interfaceadams.core.io.FileFormatHandler
- Specified by:
getFormatExtensions
in classadams.data.io.input.AbstractDataContainerReader<Spectrum>
- Returns:
- the extension (without the dot!)
-
setSpectrumType
public void setSpectrumType(SoilCaresScannerSpectrumReader.SpectrumType value)
Sets the type of spectrum to read.- Parameters:
value
- the type
-
getSpectrumType
public SoilCaresScannerSpectrumReader.SpectrumType getSpectrumType()
Returns the type of spectrum to read.- Returns:
- the type
-
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.
-
setAmplitudeType
public void setAmplitudeType(SoilCaresScannerSpectrumReader.AmplitudeType value)
Sets the type of amplitude to read.- Parameters:
value
- the type
-
getAmplitudeType
public SoilCaresScannerSpectrumReader.AmplitudeType getAmplitudeType()
Returns the type of amplitude to read.- Returns:
- the type
-
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 fileentry
- 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 fileentry
- the entry to read- Returns:
- the spectrum, null if failed to read
-
readData
protected void readData()
Performs the actual reading.- Specified by:
readData
in classadams.data.io.input.AbstractDataContainerReader<Spectrum>
-
main
public static void main(String[] args)
Runs the reader from the command-line. If the optionAbstractSpectrumReader.OPTION_OUTPUTDIR
is specified then the read spectra get output as .spec files in that directory.- Parameters:
args
- the command-line options to use
-
-