Package qa.analyser
Class QAAnalyser
java.lang.Object
PamguardMVC.PamProcess
PamguardMVC.PamInstantProcess
qa.QADataProcess
qa.analyser.QAAnalyser
- All Implemented Interfaces:
PamSettings
,SettingsNameProvider
,PamObserver
,ProcessAnnotator
Used for loading in and analysing test data sets.
Will have it's own set of datablocks and SQLLoggers which mirror those in the
generator so that data can be loaded entirely independently of what's going
on in the generator / viewer.
- Author:
- dg50
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
analyseTest
(QATestDataUnit testDataUnit) This is probably going to get called with a data unit from the generator datablock.void
analyseTests
(List<QATestDataUnit> testDataUnits) Call to process a whole load of tests, and if necessary, make a combined report with results of many different tests.void
analyseTests
(QATestDataUnit[] multiUnits) Call to process a whole load of tests, and if necessary, make a combined report with results of many different tests.boolean
canDetectCluster
(QACluster qaCluster, PamDataBlock dataBlock) long
void
pamStart()
Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway).void
pamStop()
Stops the process.void
processQueuedTask
(QAQueuedTask queudTask) this will get called back in a separate thread, using the queueing and rethreading functionality of the PAMDataBlockprocessTest
(QATestDataUnit testDataUnit, PamDataBlock aDetector) boolean
restoreSettings
(PamControlledUnitSettings pamControlledUnitSettings) Methods inherited from class qa.QADataProcess
findOpsDataUnit, findOpsDataUnits, getOpsDataBlock, getQaControl, getQaLogging, getQaSequenceLogging, getQaTestLogging, getSequenceDataBlock, getSoundsDataBlock, getTestsDataBlock
Methods inherited from class PamguardMVC.PamInstantProcess
setParentDataBlock, setParentDataBlock
Methods inherited from class PamguardMVC.PamProcess
absMillisecondsToSamples, absSamplesToMilliseconds, addData, addMultiPlexDataBlock, addOutputDataBlock, changedThreading, clearOldData, createAnnotations, destroyProcess, dumpBufferStatus, flushDataBlockBuffers, getAncestorDataBlock, getAnnotation, getChainPosition, getCompatibleDataUnits, getCpuPercent, getFrequencyRange, getLastSourceNotificationObject, getLastSourceNotificationType, getMuiltiplexDataBlock, getNumAnnotations, getNumMuiltiplexDataBlocks, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOfflineData, getOutputDataBlock, getOutputDataBlocks, getPamControlledUnit, getParentDataBlock, getParentDataBlocks, getParentProcess, getProcessCheck, getProcessName, getRawSourceDataBlock, getRawSourceDataBlock, getRequiredDataHistory, getSampleRate, getSourceDataBlock, getSourceProcess, hasOutputDatablock, isCanMultiThread, isExternalProcess, isMultiplex, makePamProcess, masterClockUpdate, newData, noteNewSettings, notifyModelChanged, prepareProcess, prepareProcessOK, processNewBuoyData, receiveSourceNotification, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeAllMultiPlexDataBlocks, removeMultiPlexDataBlock, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setExternalProcess, setMultiplex, setProcessCheck, setProcessName, setSampleRate, setupProcess, toString, updateData
-
Constructor Details
-
QAAnalyser
-
-
Method Details
-
analyseTest
This is probably going to get called with a data unit from the generator datablock. If that is the case, then the local datablocks are cleared and the data unit and all it's sub sequences and sounds are loaded into a local set of datablocks, separate from the main list. That way we're able to play about with analysing data over a wide time period even when data collection is ongoing ...- Parameters:
testDataUnit
-
-
analyseTests
Call to process a whole load of tests, and if necessary, make a combined report with results of many different tests.- Parameters:
testDataUnits
- List of test data units.
-
analyseTests
Call to process a whole load of tests, and if necessary, make a combined report with results of many different tests. This will add the tests to a task list in a queue and return immediately, so no need to worry about execution time. Will clone the list of data units so that the list object can be reused.- Parameters:
testDataUnits
- List of test data units.
-
processQueuedTask
this will get called back in a separate thread, using the queueing and rethreading functionality of the PAMDataBlock- Parameters:
queudTask
-
-
processTest
-
pamStart
public void pamStart()Description copied from class:PamProcess
Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway).- Overrides:
pamStart
in classQADataProcess
-
pamStop
public void pamStop()Description copied from class:PamProcess
Stops the process.- Overrides:
pamStop
in classQADataProcess
-
canDetectCluster
- Parameters:
qaCluster
- Sound typedataBlock
- detector output- Returns:
- true if the cluster has a hope of being detected by the given detector output
-
getUnitName
- Specified by:
getUnitName
in interfaceSettingsNameProvider
- Returns:
- A Name specific to this instance of the particular class, e.g. Sperm whale detector, Beaked whale detector, etc.
-
getUnitType
- Specified by:
getUnitType
in interfacePamSettings
- Returns:
- A Name specific to the type, e.g. Click detector
-
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
-