Package offlineProcessing.superdet
Class OfflineSuperDetFilter
java.lang.Object
offlineProcessing.superdet.OfflineSuperDetFilter
Super detection filter for offline tasks. When added to a offlinetaskgroup it will
show options (if there are any) for filtering processed data units by super detections.
e.g. for click processing, this should be able to restrict processing to just files
that have porpoise events. Key will be to not even load a file that hasn't any data
associated with super detections.
- Author:
- dg50
-
Method Summary
Modifier and TypeMethodDescriptionboolean
checkSubDetection
(PamDataUnit dataUnit) Called to see if this sub detection will pass the super detection filter, i.e.void
static ArrayList<SuperDetDataBlock>
findPossibleSuperDetections
(PamDataBlock coreDataBlock) Make a list of all possible data blocks that might hold super detection data for the data in the given data block.Get a dataname that can be used with data selectors.getSwingComponent
(Window parent) static OfflineSuperDetFilter
makeSuperDetFilter
(PamDataBlock subDataBlock, String dataName) Make a super detection filter for the given datablock.void
setFilterDataBlock
(SuperDetDataBlock currentSuperBlock) boolean
shouldProcess
(OfflineDataMapPoint mapPoint) Work out if any of the data in the mapPoint, which is for the main OfflineTask datablock, might be associated with a super detection which passes this filter.
-
Method Details
-
findPossibleSuperDetections
Make a list of all possible data blocks that might hold super detection data for the data in the given data block.For a datablock to be identified as a super data block it must have SQLLogging with a sub table and the subDetectionType of the data in that block must be compatible with the data in the core data block.
- Parameters:
coreDataBlock
- datablock containing sub detections- Returns:
- list of datablocks that might have super detections.
-
makeSuperDetFilter
Make a super detection filter for the given datablock. Return null if no appropriate super detections are available.- Parameters:
subDataBlock
- datablock of the sub detectionsdataName
- data name (will be used in dataselector settings for the super detection).- Returns:
- null if no suitable super detections, otherwise the basis of a filter.
-
getSwingComponent
-
getAvailableSuperDetctors
- Returns:
- the availableSuperDetctors
-
getDataName
Get a dataname that can be used with data selectors.- Returns:
- the dataName
-
checkSubDetection
Called to see if this sub detection will pass the super detection filter, i.e. find an appropriate super detection then test that in the superdetection filter.Defaults to returning true if there isn't a filter data block selected or if the super datablock doesn't have a data selector. Data selectors can themselves how to handle a null dataunit, e.g. if we're looking at super detections of clicks - clcik trains - then the data selector has an option to unclude clicks which are not part of a train, in which case the superdetection of the click will be null
- Parameters:
dataUnit
- Sub detectoin data unit.- Returns:
- true if conditions are met ...
-
setFilterDataBlock
-
shouldProcess
Work out if any of the data in the mapPoint, which is for the main OfflineTask datablock, might be associated with a super detection which passes this filter. Will involve some querying of database tables, but hopefully this will be faster than loading a lot of data we don't need to process.- Parameters:
mapPoint
- Map Point for sub detection data.- Returns:
- true if there are data worth processing.
-
checkSubDetectionLinks
public void checkSubDetectionLinks()
-