public class ClickDetectionMatch extends AbstractDetectionMatch
Expansion of this class could include matching clicks based on waveform e.g. for Sperm whales it maybe possible to match clicks on different channels by using echoes to determine sizes and hence match different animals.
Modifier and Type | Field and Description |
---|---|
static int |
NO_ECHO
Use only non echo clicks
|
static int |
USE_ALL
Use all detected clicks (note, this will override all other flags) in the bitmap;
|
static int |
USE_CLASSIFICATION
Use only classified clicks to localise.
|
static int |
USE_EVENT
Use only clicks which are a part of the same event as this click
|
Constructor and Description |
---|
ClickDetectionMatch(ClickDetection parentDetection) |
ClickDetectionMatch(ClickDetection parentDetection,
java.lang.Integer clickTypes) |
Modifier and Type | Method and Description |
---|---|
java.lang.Double[] |
calcTimeDelays(java.util.ArrayList<clickDetector.ClickDetectionMatch.ClickMatchUnit> clicks)
Calculate the time delays between a list of clicks using the indexM1 and indexM2 to specify the channel ordering for calculation.
|
boolean |
canLocalise(PamDataUnit pamDetection)
Check to see whether the pamDetection has the critera required by ClickDetectionMacth to be included in localisation calculations.
|
int |
getClickType() |
java.util.ArrayList<TDArrayList<java.lang.Double>> |
getGroupTimeDelays(int[] excludeChannels)
To group detections run through every detection on the primary hydrophone.
|
int |
getNMatchDetections(int[] channels)
Gets the channel bitmap of hydrophones which contain at least one detection to be used for localisation .
|
int |
getNPossibilities(int[] channels)
Quickly calculate the number of possible time delay possibilities there will be for this localisation.
|
int |
getNumberofHydrophones()
Get the number of hydrophones in the hydrophone array,
|
void |
setClickType(int clickTypes) |
void |
setDetectionType(java.lang.Integer clickTypes) |
java.util.ArrayList<java.util.ArrayList<clickDetector.ClickDetectionMatch.ClickMatchUnit>> |
sortChannels(java.util.ArrayList<ClickDetection> clicksSorted,
int[] containsChannel)
Take a list of click detections and sort into channels, based on time windows (which are themselves based on spacing between hydrophones);
|
static java.util.ArrayList<ClickDetection> |
sortClassified(java.util.ArrayList<ClickDetection> clicks,
byte clickType)
Delete all clicks which are not the same type as the primary click.
|
java.util.ArrayList<ClickDetection> |
sortClicks(java.util.ArrayList<ClickDetection> clicks)
Sort clicks depending on classification/ being a part of an event/ echoes etc/ and whether the right channel or not; Anything you want to program.
|
static java.util.ArrayList<ClickDetection> |
sortClicksEchoes(java.util.ArrayList<ClickDetection> clicks)
Delete all clicks which are echoes
|
static java.util.ArrayList<ClickDetection> |
sortEvents(java.util.ArrayList<ClickDetection> clicks,
PamDetection currentEvent)
Delete all clicks which are not the same event as the primary click.
|
calcHydrophoneNumber, calcTDNumber, containsChannel, findClosestDetection, findDetectionGroup, getDetection, getDetectionGroup, getDetectionMap, getDetectionType, getHydrophoneDistances, getHydrophones, getHydrophones3f, getObserverThread, getParentDetections, getPrimaryChannel, getTDErrrorsAll, getTimeDelayError, getTimeWindowAddition, getTimeWindows, getTimeWindows, indexM1, indexM2, mapPossibleCombinations, setDetection, setObserverThread, setParentDetections, setTimeWindowAddition, testTimeDelays
public static final int USE_CLASSIFICATION
public static final int USE_EVENT
public static final int USE_ALL
public static final int NO_ECHO
public ClickDetectionMatch(ClickDetection parentDetection)
public ClickDetectionMatch(ClickDetection parentDetection, java.lang.Integer clickTypes)
public java.util.ArrayList<TDArrayList<java.lang.Double>> getGroupTimeDelays(int[] excludeChannels)
DetectionMatchModel
excludeChannels
- includes detections on these channels only for the calculation.public java.lang.Double[] calcTimeDelays(java.util.ArrayList<clickDetector.ClickDetectionMatch.ClickMatchUnit> clicks)
clicks
- public java.util.ArrayList<ClickDetection> sortClicks(java.util.ArrayList<ClickDetection> clicks)
public boolean canLocalise(PamDataUnit pamDetection)
public java.util.ArrayList<java.util.ArrayList<clickDetector.ClickDetectionMatch.ClickMatchUnit>> sortChannels(java.util.ArrayList<ClickDetection> clicksSorted, int[] containsChannel)
clicksSorted
- public static java.util.ArrayList<ClickDetection> sortClassified(java.util.ArrayList<ClickDetection> clicks, byte clickType)
clicks
- clickType
- public static java.util.ArrayList<ClickDetection> sortEvents(java.util.ArrayList<ClickDetection> clicks, PamDetection currentEvent)
clicks
- currentEvent
- public static java.util.ArrayList<ClickDetection> sortClicksEchoes(java.util.ArrayList<ClickDetection> clicks)
clicks
- currentEvent
- public void setClickType(int clickTypes)
public int getClickType()
public void setDetectionType(java.lang.Integer clickTypes)
setDetectionType
in class AbstractDetectionMatch
public int getNPossibilities(int[] channels)
DetectionMatchModel
channels
- includes detections on these channels only for the calculation.public int getNumberofHydrophones()
AbstractDetectionMatch
getNumberofHydrophones
in class AbstractDetectionMatch
public int getNMatchDetections(int[] channels)
DetectionMatchModel