Package decimator
Class DecimatorControl
java.lang.Object
PamController.PamControlledUnit
decimator.DecimatorControl
- All Implemented Interfaces:
OfflineDataStore
,OfflineFileDataStore
,PamSettings
,SettingsNameProvider
public class DecimatorControl
extends PamControlledUnit
implements PamSettings, OfflineFileDataStore
- Author:
- Doug Gillespie
Quite a simple control unit that filters and decimates raw data producing a
new data stream
Needs a control dialog
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateDetectionMenu
(Frame parentFrame) Create a JMenu object containing MenuItems associated with PamProcessesvoid
createOfflineDataMap
(Window parentFrame) Create a basic map of the data including first and last times and some kind of data/unit time count plus ideally some kind of start and stop time list of where there are gaps in the data.Get the data location.Get the data source nameGet the decimator process.getGUI
(int flag) Get the GUI for the PAMControlled unit.long
boolean
See if the decimator is integer, whether going up or down in frequencyboolean
isIntegerDecimation
(float newSampleRate) boolean
isIntegerDecimation
(float sourceFS, float newSampleRate) boolean
loadData
(PamDataBlock dataBlock, OfflineDataLoadInfo offlineDataLoadInfo, ViewLoadObserver loadObserver) Load data for a given datablock between two time limits.void
notifyModelChanged
(int changeType) General notification when the PAMGAURD model changes.boolean
restoreSettings
(PamControlledUnitSettings pamControlledUnitSettings) boolean
rewriteIndexFile
(PamDataBlock dataBlock, OfflineDataMapPoint dmp) Moved this function over from binary data store.boolean
saveData
(PamDataBlock dataBlock) Save data previously loaded from the store during offline viewing.void
setDecimatorParams
(DecimatorParams newParams) void
called for all PamControlledUnits after all units have been created.Methods inherited from class PamController.PamControlledUnit
addOfflineTaskGroup, addOtherRelatedMenuItems, addPamProcess, addPamProcess, addRelatedMenuItems, canClose, canPlayViewerSound, createDisplayMenu, createFileMenu, createHelpMenu, flushDataBlockBuffers, getBackupInformation, getFrameNumber, getGuiFrame, getInstanceIndex, getModuleStatus, getModuleStatusManager, getModuleSummary, getModuleSummary, getNumOfflineTaskGroups, getNumPamProcesses, getOfflineState, getOfflineTaskGroup, getPamConfiguration, getPamController, getPamModuleInfo, getPamProcess, getPamView, getPlugin, getShortUnitType, getSidePanel, getTabClipCopier, getTabPanel, getTabSpecificMenuBar, getToolbarComponent, getUnitName, getUnitType, getVerboseLevel, gotoTab, isInMainConfiguration, isNetRx, isViewer, pamClose, pamHasStopped, pamToStart, playViewerSound, removePamProcess, removeUnit, rename, saveViewerData, setFrameNumber, setModuleStatusManager, setPamConfiguration, setPamController, setPamModuleInfo, setPamView, setSidePanel, setTabPanel, setToolbarComponent, stopViewerSound, tellModule, terminalPrint, terminalPrintln, toString
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface PamController.OfflineFileDataStore
getUnitName
Methods inherited from interface PamController.PamSettings
getUnitType
Methods inherited from interface PamController.SettingsNameProvider
getUnitName
-
Constructor Details
-
DecimatorControl
-
-
Method Details
-
createDetectionMenu
Description copied from class:PamControlledUnit
Create a JMenu object containing MenuItems associated with PamProcesses- Overrides:
createDetectionMenu
in classPamControlledUnit
- Parameters:
parentFrame
- The owner frame of the menu- Returns:
- reference to a JMenu which can be added to an existing menu or
menu bar
Note that if multiple views are to use the same menu, then they should each create a new menu (by setting Create to true) the first time they call this method.
-
notifyModelChanged
public void notifyModelChanged(int changeType) Description copied from class:PamControlledUnit
General notification when the PAMGAURD model changes.- Overrides:
notifyModelChanged
in classPamControlledUnit
- Parameters:
changeType
- type of change
-
getSettingsReference
- Specified by:
getSettingsReference
in interfacePamSettings
- Returns:
- The serialisable object that will be stored
-
getSettingsVersion
public long getSettingsVersion()- Specified by:
getSettingsVersion
in interfacePamSettings
- Returns:
- An integer version number for the settings
-
restoreSettings
- Specified by:
restoreSettings
in interfacePamSettings
- Returns:
- true if successful The object performs final checks (if needed) and then casts the settings data pamcontrolledunitSettings.settings into the correct type and uses as required
-
setupControlledUnit
public void setupControlledUnit()Description copied from class:PamControlledUnit
called for all PamControlledUnits after all units have been created. This is a good time for the controlled units and processes to find and check their source data and the configuration generally since most onjects (i.e. output data blocks) should be in place- Overrides:
setupControlledUnit
in classPamControlledUnit
-
createOfflineDataMap
Description copied from interface:OfflineDataStore
Create a basic map of the data including first and last times and some kind of data/unit time count plus ideally some kind of start and stop time list of where there are gaps in the data.- Specified by:
createOfflineDataMap
in interfaceOfflineDataStore
-
getDataSourceName
Description copied from interface:OfflineDataStore
Get the data source name- Specified by:
getDataSourceName
in interfaceOfflineDataStore
- Returns:
- data source name
-
getDataLocation
Description copied from interface:OfflineDataStore
Get the data location. This may be a specific file, or might be a folder if data are in many files, a URI, etc.- Specified by:
getDataLocation
in interfaceOfflineDataStore
- Returns:
- store locations
-
loadData
public boolean loadData(PamDataBlock dataBlock, OfflineDataLoadInfo offlineDataLoadInfo, ViewLoadObserver loadObserver) Description copied from interface:OfflineDataStore
Load data for a given datablock between two time limits.- Specified by:
loadData
in interfaceOfflineDataStore
- Parameters:
dataBlock
- datablock owner of the data- Returns:
- true if load successful.
-
saveData
Description copied from interface:OfflineDataStore
Save data previously loaded from the store during offline viewing.- Specified by:
saveData
in interfaceOfflineDataStore
- Parameters:
dataBlock
- datablock owner of the data- Returns:
- true if saved or save not needed. False if an error prevents saving.
-
getOfflineFileServer
- Specified by:
getOfflineFileServer
in interfaceOfflineFileDataStore
- Returns:
- The offline file server which will do the actual work
-
getParentProcess
- Specified by:
getParentProcess
in interfaceOfflineFileDataStore
-
getRawDataBlock
- Specified by:
getRawDataBlock
in interfaceOfflineFileDataStore
-
rewriteIndexFile
Description copied from interface:OfflineDataStore
Moved this function over from binary data store. Many storage systems may not be able to do this, but some might !- Specified by:
rewriteIndexFile
in interfaceOfflineDataStore
- Returns:
-
getDatagramManager
- Specified by:
getDatagramManager
in interfaceOfflineDataStore
- Returns:
- the datagramManager
-
getDecimatorParams
-
isIntegerDecimation
public boolean isIntegerDecimation()See if the decimator is integer, whether going up or down in frequency- Returns:
-
isIntegerDecimation
public boolean isIntegerDecimation(float newSampleRate) -
isIntegerDecimation
public boolean isIntegerDecimation(float sourceFS, float newSampleRate) -
getGUI
Description copied from class:PamControlledUnit
Get the GUI for the PAMControlled unit. This has multiple GUI options which are instantiated depending on the view type.- Overrides:
getGUI
in classPamControlledUnit
- Parameters:
flag
- . The GUI type flag defined in PAMGuiManager.- Returns:
- the GUI for the PamControlledUnit unit.
-
setDecimatorParams
-
getDecimatorProcess
Get the decimator process.- Returns:
- the decimator process.
-