Package adams.flow.transformer
Class SpreadSheetHistogramRanges
-
- All Implemented Interfaces:
AdditionalInformationHandler,ArrayProvider,CleanUpHandler,Destroyable,GlobalInfoSupporter,LoggingLevelHandler,LoggingSupporter,OptionHandler,QuickInfoSupporter,ShallowCopySupporter<Actor>,SizeOfHandler,Stoppable,StoppableWithFeedback,VariablesInspectionHandler,VariableChangeListener,Actor,ArrayProvider,ErrorHandler,InputConsumer,OutputProducer,Serializable,Comparable
public class SpreadSheetHistogramRanges extends AbstractArrayProvider
Outputs the ranges generated by adams.data.statistics.ArrayHistogram using the incoming adams.data.spreadsheet.SpreadSheet object.
If cells aren't numeric or missing, a default value of zero is used.
Input/output:
- accepts:
adams.data.spreadsheet.SpreadSheet
- generates:
java.lang.String
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: SpreadSheetHistogramRanges
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors. default: false
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false
-output-array <boolean> (property: outputArray) If enabled, the ranges are output as array rather than one by one. default: false
-type <ROW_BY_INDEX|COLUMN_BY_INDEX|COLUMN_BY_REGEXP> (property: dataType) Whether to retrieve rows or columns from the Instances object. default: COLUMN_BY_INDEX
-location <adams.core.base.BaseString> [-location ...] (property: locations) The locations of the data, depending on the chosen data type that can be either indices, column names or regular expressions on the column names. default:
-bin-calc <MANUAL|FREQUENCY|DENSITY|STURGES|SCOTT|SQRT> (property: binCalculation) Defines how the number of bins are calculated. default: MANUAL
-num-bins <int> (property: numBins) The number of bins to use in case of manual bin calculation. default: 50 minimum: 1
-bin-width <double> (property: binWidth) The bin width to use for some of the calculations. default: 1.0 minimum: 1.0E-5
-normalize <boolean> (property: normalize) If set to true the data gets normalized first before the histogram is calculated. default: false
-use-fixed-min-max <boolean> (property: useFixedMinMax) If enabled, then the user-specified min/max values are used for the bin calculation rather than the min/max from the data (allows comparison of histograms when generating histograms over a range of arrays). default: false
-manual-min <double> (property: manualMin) The minimum to use when using manual binning with user-supplied min/max enabled. default: 0.0
-manual-max <double> (property: manualMax) The maximum to use when using manual binning with user-supplied max/max enabled. default: 1.0
-num-decimals <int> (property: numDecimals) The number of decimals to show in the bin descriptions. default: 3 minimum: 0
- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ArrayHistogram.BinCalculationm_BinCalculationhow to calculate the number of bins.protected doublem_BinWidththe bin width - used for some calculations.protected SpreadSheetStatisticDataTypem_DataTypethe type of data to get from the Instances object (rows or columns).protected BaseString[]m_Locationsthe array of indices/regular expressions.protected doublem_ManualMaxthe manual maximum.protected doublem_ManualMinthe manual minimum.protected booleanm_Normalizewhether to normalize the data.protected intm_NumBinsthe number of bins in case of manual bin calculation.protected intm_NumDecimalsthe number of decimals to show.protected booleanm_UseFixedMinMaxwhether to use fixed min/max for manual bin calculation.-
Fields inherited from class adams.flow.transformer.AbstractArrayProvider
BACKUP_INDEX, BACKUP_QUEUE, m_Index, m_OutputArray, m_Queue
-
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
-
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
-
Constructor Summary
Constructors Constructor Description SpreadSheetHistogramRanges()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]accepts()Returns the class that the consumer accepts.StringbinCalculationTipText()Returns the tip text for this property.StringbinWidthTipText()Returns the tip text for this property.StringdataTypeTipText()Returns the tip text for this property.voiddefineOptions()Adds options to the internal list of options.protected StringdoExecute()Executes the flow item.ArrayHistogram.BinCalculationgetBinCalculation()Returns how the number of bins is calculated.doublegetBinWidth()Returns the bin width in use (for some calculations).protected Double[]getColumn(SpreadSheet sheet, int index)Returns the column as Double array.SpreadSheetStatisticDataTypegetDataType()Returns what type of data to retrieve from the Instances object.protected ClassgetItemClass()Returns the base class of the items.BaseString[]getLocations()Returns the locations of the data (indices/regular expressions on attribute name).doublegetManualMax()Returns the maximum to use when using manual binning with user-supplied max/max enabled.doublegetManualMin()Returns the minimum to use when using manual binning with user-supplied min/max enabled.booleangetNormalize()Returns whether to normalize the data before generating the histogram.intgetNumBins()Returns the number of bins to use in manual calculation.intgetNumDecimals()Returns the number of decimals to show in the bin description.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.protected Double[]getRow(SpreadSheet sheet, int index)Returns the row as Double array.booleangetUseFixedMinMax()Returns whether to use user-supplied min/max for bin calculation rather than obtain min/max from data.StringglobalInfo()Returns a string describing the object.StringlocationsTipText()Returns the tip text for this property.StringmanualMaxTipText()Returns the tip text for this property.StringmanualMinTipText()Returns the tip text for this property.StringnormalizeTipText()Returns the tip text for this property.StringnumBinsTipText()Returns the tip text for this property.StringnumDecimalsTipText()Returns the tip text for this property.StringoutputArrayTipText()Returns the tip text for this property.voidsetBinCalculation(ArrayHistogram.BinCalculation value)Sets how the number of bins is calculated.voidsetBinWidth(double value)Sets the bin width to use (for some calculations).voidsetDataType(SpreadSheetStatisticDataType value)Sets what type of data to retrieve from the Instances object.voidsetLocations(BaseString[] value)Sets the locations of the data (indices/regular expressions on attribute name).voidsetManualMax(double value)Sets the maximum to use when using manual binning with user-supplied max/max enabled.voidsetManualMin(double value)Sets the minimum to use when using manual binning with user-supplied min/max enabled.voidsetNormalize(boolean value)Sets whether to normalize the data before generating the histogram.voidsetNumBins(int value)Sets the number of bins to use in manual calculation.voidsetNumDecimals(int value)Sets the number of decimals to show in the bin description.voidsetUseFixedMinMax(boolean value)Sets whether to use user-supplied min/max for bin calculation rather than obtain min/max from data.StringuseFixedMinMaxTipText()Returns the tip text for this property.-
Methods inherited from class adams.flow.transformer.AbstractArrayProvider
backupState, generates, getOutputArray, hasPendingOutput, output, preExecute, pruneBackup, reset, restoreState, setOutputArray, wrapUp
-
Methods inherited from class adams.flow.transformer.AbstractTransformer
currentInput, execute, hasInput, input, postExecute
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
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
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_DataType
protected SpreadSheetStatisticDataType m_DataType
the type of data to get from the Instances object (rows or columns).
-
m_Locations
protected BaseString[] m_Locations
the array of indices/regular expressions.
-
m_BinCalculation
protected ArrayHistogram.BinCalculation m_BinCalculation
how to calculate the number of bins.
-
m_NumBins
protected int m_NumBins
the number of bins in case of manual bin calculation.
-
m_BinWidth
protected double m_BinWidth
the bin width - used for some calculations.
-
m_Normalize
protected boolean m_Normalize
whether to normalize the data.
-
m_UseFixedMinMax
protected boolean m_UseFixedMinMax
whether to use fixed min/max for manual bin calculation.
-
m_ManualMin
protected double m_ManualMin
the manual minimum.
-
m_ManualMax
protected double m_ManualMax
the manual maximum.
-
m_NumDecimals
protected int m_NumDecimals
the number of decimals to show.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceGlobalInfoSupporter- Specified by:
globalInfoin classAbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractArrayProvider
-
getItemClass
protected Class getItemClass()
Returns the base class of the items.- Specified by:
getItemClassin classAbstractArrayProvider- Returns:
- the class
-
outputArrayTipText
public String outputArrayTipText()
Returns the tip text for this property.- Specified by:
outputArrayTipTextin interfaceArrayProvider- Specified by:
outputArrayTipTextin interfaceArrayProvider- Specified by:
outputArrayTipTextin classAbstractArrayProvider- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setDataType
public void setDataType(SpreadSheetStatisticDataType value)
Sets what type of data to retrieve from the Instances object.- Parameters:
value- the type of conversion
-
getDataType
public SpreadSheetStatisticDataType getDataType()
Returns what type of data to retrieve from the Instances object.- Returns:
- the type of conversion
-
dataTypeTipText
public String dataTypeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLocations
public void setLocations(BaseString[] value)
Sets the locations of the data (indices/regular expressions on attribute name).- Parameters:
value- the locations of the data
-
getLocations
public BaseString[] getLocations()
Returns the locations of the data (indices/regular expressions on attribute name).- Returns:
- the locations of the data
-
locationsTipText
public String locationsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBinCalculation
public void setBinCalculation(ArrayHistogram.BinCalculation value)
Sets how the number of bins is calculated.- Parameters:
value- the bin calculation
-
getBinCalculation
public ArrayHistogram.BinCalculation getBinCalculation()
Returns how the number of bins is calculated.- Returns:
- the bin calculation
-
binCalculationTipText
public String binCalculationTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNumBins
public void setNumBins(int value)
Sets the number of bins to use in manual calculation.- Parameters:
value- the number of bins
-
getNumBins
public int getNumBins()
Returns the number of bins to use in manual calculation.- Returns:
- the number of bins
-
numBinsTipText
public String numBinsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBinWidth
public void setBinWidth(double value)
Sets the bin width to use (for some calculations).- Parameters:
value- the bin width
-
getBinWidth
public double getBinWidth()
Returns the bin width in use (for some calculations).- Returns:
- the bin width
-
binWidthTipText
public String binWidthTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNormalize
public void setNormalize(boolean value)
Sets whether to normalize the data before generating the histogram.- Parameters:
value- if true the data gets normalized first
-
getNormalize
public boolean getNormalize()
Returns whether to normalize the data before generating the histogram.- Returns:
- true if the data gets normalized first
-
normalizeTipText
public String normalizeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setUseFixedMinMax
public void setUseFixedMinMax(boolean value)
Sets whether to use user-supplied min/max for bin calculation rather than obtain min/max from data.- Parameters:
value- true if to use user-supplied min/max
-
getUseFixedMinMax
public boolean getUseFixedMinMax()
Returns whether to use user-supplied min/max for bin calculation rather than obtain min/max from data.- Returns:
- true if to use user-supplied min/max
-
useFixedMinMaxTipText
public String useFixedMinMaxTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setManualMin
public void setManualMin(double value)
Sets the minimum to use when using manual binning with user-supplied min/max enabled.- Parameters:
value- the minimum
-
getManualMin
public double getManualMin()
Returns the minimum to use when using manual binning with user-supplied min/max enabled.- Returns:
- the minimum
-
manualMinTipText
public String manualMinTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setManualMax
public void setManualMax(double value)
Sets the maximum to use when using manual binning with user-supplied max/max enabled.- Parameters:
value- the maximum
-
getManualMax
public double getManualMax()
Returns the maximum to use when using manual binning with user-supplied max/max enabled.- Returns:
- the maximum
-
manualMaxTipText
public String manualMaxTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNumDecimals
public void setNumDecimals(int value)
Sets the number of decimals to show in the bin description.- Parameters:
value- the number of decimals
-
getNumDecimals
public int getNumDecimals()
Returns the number of decimals to show in the bin description.- Returns:
- the number of decimals
-
numDecimalsTipText
public String numDecimalsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceActor- Specified by:
getQuickInfoin interfaceQuickInfoSupporter- Overrides:
getQuickInfoin classAbstractActor- Returns:
- null if no info available, otherwise short string
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Returns:
- adams.data.spreadsheet.SpreadSheet.class
-
getRow
protected Double[] getRow(SpreadSheet sheet, int index)
Returns the row as Double array. Non-numeric/missing values are defaulted to 0.- Parameters:
sheet- the sheet to work onindex- the 0-based row index- Returns:
- the numeric values
-
getColumn
protected Double[] getColumn(SpreadSheet sheet, int index)
Returns the column as Double array. Non-numeric/missing values are defaulted to 0.- Parameters:
sheet- the sheet to work onindex- the 0-based column index- Returns:
- the numeric values
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecutein classAbstractActor- Returns:
- null if everything is fine, otherwise error message
-
-