Class RoccaParameters
- All Implemented Interfaces:
 Serializable,Cloneable,ManagedParameters
modified contour calculations to better match original Matlab routine
 serialVersionUID = 2
                2012/7/23
                added whistle and moan as a potential data source for classifier
 
 serialVersionUID = 3
                2012/8/12
                corrected problem with not resetting inflection and sweep counts when
                reclassifying, resulting in doubling and tripling of the parameters
 
 serialVersionUID = 4
                2012/8/16
                corrected problem with freqmin=-1 when contour points dragged and end
                point reselected.
 
 serialVersionUID = 5
                2012/10/12
                added 'pick points' option to trace out contours
 
 serialVersionUID = 6
                2012/11/11
                fixed problem with single step being counted multiple times
 
 serialVersionUID = 7
                2013/9/29
                added 2nd stage classifier
 
 serialVersionUID = 8
                2013/12/13
                added error checking in RoccaProcess, to catch if a PamRawDataBlock is empty
                added error checking in RoccaContourDataBlock to catch if the filename for the
                source wav cannot be found
 
 serialVersionUID = 9
                2014/01/18
                added more error checking in RoccaProcess to catch if firstIndx or lastIndx cannot
                be determined from the data sent by the WMD
 
 serialVersionUID = 10
                2014/02/04
                in case numInflections < = 1, Rocca now writes a "0" to the following parameters
                instead of "999":
                        INFLMAXDELTA
                        INFLMINDELTA
                        INFLMAXMINDELTA
                        INFLMEANDELTA
                        INFLSTDDEVDELTA
                        INFLMEDIANDELTA
 
 serialVersionUID = 11
                2014/04/09
                added decimal places to the date/time output in column B of RoccaContourStats
                added End Date/Time column to RoccaContourStats
 
 serialVersionUID = 12
                2014/05/07
                integrated with click detector
                rev 12c 2014/07/26 released to Tina for beta testing
 
 serialVersionUID = 13
                2014/09/09
                added notes tab to Parameters dialog and added 4 string variables to params
 
 serialVersionUID = 14
                2014/10/13
                *allow multiple sources
                *changed click duration calculation in RoccaContourDataBlock.calculateClickStats().  Instead
                of calling clickDetection.clickLength, we now call SweepClassifier.getClickLength
                *released as Pamguard version 1_12_50
 
 serialVersionUID = 15
                2014/11/12
                * add time calcs to school stats file
                * released as Pamguard version 1.12.54 (? not positive about this)
 
 serialVersionUID = 16
                2014/12/28
                * remove 'GMT' from start and end times in RoccaContourStats.csv, and just use
                * it in the header row.  Allows easier manipulation of dates in Excel
                * released as Pamguard version 1.12.54b
 
 serialVersionUID = 17
                2015/01/14
                * added geographic location and channels to notes tab, as well as sample rate
                * RoccaContourStats.csv file
                * released as Pamguard version 1.13.02b
 
 serialVersionUID = 18
                2015/04/20
                * change the RoccaLoggingDataBlock unit lifetime from infinite to 10 seconds, and
                  don't override the clearAll method anymore.  There were problems with the memory
                  being overloaded and crashing pamguard when the Whistle and Moan Detector was run
                  over multiple hours.
                * released as Pamguard version 1.13.03b
 
 serialVersionUID = 19
                2015/05/17
                * added median and variance classes to PamMaths package
                * added mean, median and variance calcs to ZeroCrossingStats class
                * added mean, median and variance of time between zero crossings to the list
                  of click stats calculated by RoccaContourDataBlock.  These stats were also
                  added to the RoccaContourStats enum and RoccaStatsLogger class.  Note that
                  the Click Detector params had never been added to RoccaStatsLogger, so everything
                  was included this time.
                * released as Pamguard version 1.13.03c
 
 serialVersionUID = 20
                2015/05/20
                * added Encounter ID and Known Species to sidebar
                * added test for change in Sources tab of Rocca Parameters Dialog.  If no change has
                  occurred, the Observer list will not be touched.  This was causing Pamguard to crash
                  if changes were made to the Parameters Dialog (the notes or output filenames) while
                  Pamguard was running and handling multiple detections at the same time
                * released as Pamguard version 1.13.03d
 
 serialVersionUID = 21
                2015/05/31
                * changed Viewer Mode Rocca Event Analysis menu item.  Instead of displaying a submenu
                  listing all of the available events, load a dialog with a scrolling text box
                * released as Pamguard version 1.13.03e
 
 serialVersionUID = 22
                2015/06/13
                * added ancillary variables to encounter stats for both whistles and clicks.  Up to now, clicks
                  had not been included in encounter calculations.  Because we want to calc ancillary variables
                  for clicks as well as whistles, clicks are now sent to the sidebar but are NOT run through
                  a classifier first - they default to 'ambig' species.  To do this, we now pass the duration
                  as well as the start time to the incSpeciesCount methods in RoccaSidePanel.  Note that ancillary
                  variable calculations can be enabled/disabled for whistles and clicks separately in the
                  parameters dialog.
                  Ancillary variables include:
                         whistle density (sum of individual durations / encounter length)
                         whistle overlap (total number of seconds that two whistles overlap)
                * Encounter duration calculation was also changed to go from the start of the first whistle OR click
                  to the end of the last whistle or click
                * fixed bug that didn't read the encounter stats file in correctly (did not take into account timeParams variables)
                * fixed bug that could go past the end of the frequency array when calculating max freq bin in RoccaContour.getMaxFreqIndexFromFFTData
                * found missing graphics for help files
                * updated help files, including Click Detector help
                * released for testing as Pamguard version 1.13.03f on 18 July 2015
 
 serialVersionUID = 22
                2015/08/31
                * fixed bug in encounter stats - was incorrectly calculating average time between whistles/clicks
                * released as Pamguard version 1.13.05b
 
 serialVersionUID = 22
                2015/09/09
                * fixed memory leak issue in ViewerMode, whereby logging data units are created but never removed.  Changes made
                * released as Pamguard version 1.13.05c
 
 serialVersionUID = 22
                2015/09/13
                * changed SweepClassifierWorker method createLengthData - converted lengthData to local variable tempLengthData
                  to prevent NullPointerException due to threading issues
                * released as Pamguard version 1.13.05d
 
 serialVersionUID = 22
                2015/09/15
                * changed whistle/click overlap param to average overlap, by dividing by encounter length
                * released as Pamguard version 1.13.05d
 
 serialVersionUID = 23
                2015/10/10
                * Requested changes from ONR Debrief 2015/10/06
                * remove white spaces and parenthesis characters from RoccaContourStats header row
                * report 'N/A' for min time between detections, if there is only 1 detection
                * released as Pamguard version 1.14.00b
 
 serialVersionUID = 23
                2016/01/04
                * last requested change from ONR Debrief 2015/10/06
                * add ability to load standard notes and use in RoccaParameters dialog window
                * fixed Rocca multi-threading problem which caused Click Detector to send same click multiple times
                * released as Pamguard version 1.14.00c
 
 serialVersionUID = 24
                2016/08/10
                * added selection of click and event classifiers to parameters dialog
                * added GPS as a potential source (to be used in conjunction with event classifier)
                * removed references in parameters dialog to the original 2-stage classifier, which
                  required 2 separate classifier files to function
                * released as Pamguard version 1.15.04d
 
 serialVersionUID = 25
                2017/03/28
                * added pruning for auto whistle/click detector classifiers.  Note that the pruning parameters are
                  specific to the classifiers developed for the ONR/LMR project N00014-14-1-0413 and documented in the report
                  "Development of automated whistle and click classifiers for odontocete species in the western
                  Atlantic Ocean, Temperate Pacific and the waters surrounding the Hawaiian Islands" J.N. Oswald and
                  T.M. Yack, 2016.  The parameters are hard-coded into the RoccaProcess.newData method and are applied
                  when the classifier model file selected by the user matches a specific name.
 
                2017/04/10
                * modified event calcs to match the final params that were actually used for TempPac/Hawaii/Atlantic
                  classifiers.  StartHr, ProportionWhists and ProportionClicks were added.  No params were removed to 
                  maintain backwards-compatibility (even though some are not used in the classifier) 
 
                2017/10/14
                * subscribe to AcquisitionProcess.daqStatusDataBlock and monitor for changes in file name.  When a change
                * occurs, update the event name automatically
 
                2019/03/04
                * copied over the click classification code from RoccaProcess.newData to RoccaControl.analyzeOfflineClicks.
                  Didn't realize that in Viewer mode, clicks were not being classified and were simply set to Ambig.  When
                  RocccaProcess was upgraded with actual click classification, I forgot to change RoccaControl.
 
- Author:
 - Michael Oswald
 - See Also:
 
- 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intconstant used to define areas of spectrogram that do not contain whistlestatic final longfor serialization - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanclone()intintint[]intintdoubleGet a set of data that describes all of the parameters in a classreturn the name of the whistle classifierreturn the name of the click classifier serialVersionUID=24 2016/08/10return the name of the event classifier serialVersionUID=24 2016/08/10static longintintbooleanbooleanbooleanbooleanbooleanvoidsetChannelMap(int channelMap) voidsetClassificationThreshold(int classificationThreshold) voidsetClassifyClicks(boolean classifyClicks) voidsetClassifyEvents(boolean classifyEvents) voidsetClassifyWhistles(boolean classifyWhistles) voidsetClickAncCalcs(boolean runAncillaryCalcs) voidsetClickDataSource(String clickDataSource) voidsetClickNoiseDataSource(String clickNoiseDataSource) voidsetClickTypeList(int[] clickTypeList) voidsetFilenameTemplate(String filenameTemplate) voidsetGpsSource(String gpsSource) voidsetNoiseSensitivity(double noiseSensitivity) voidsetNotesChan(String notesChan) voidsetNotesCruiseID(String notesCruiseID) voidsetNotesDataProvider(String notesDataProvider) voidsetNotesEncounterID(String notesEncounterID) voidsetNotesGeoLoc(String notesGeoLoc) voidsetNotesKnownSpecies(String notesKnownSpecies) voidsetRoccaClassifierModelFilename(File roccaClassifierModelFilename) Set the whistle classifier filevoidsetRoccaClickClassifierModelFilename(File roccaClickClassifierModelFilename) Set the click classifier file serialVersionUID=24 2016/08/10voidsetRoccaEventClassifierModelFilename(File roccaEventClassifierModelFilename) Set the event classifier file serialVersionUID=24 2016/08/10voidsetSightingThreshold(int sightingThreshold) voidsetStage1Link(int stage1Link) voidsetStrongWhistleDiff(boolean strongWhistleDiff) voidsetTrimWav(boolean trimWav) voidsetUseClick(boolean useClick) voidsetUseFFT(boolean useFFT) voidsetUseGPS(boolean useGPS) voidsetUseWMD(boolean useWMD) voidsetWhistleAncCalcs(boolean runAncillaryCalcs) voidsetWmDataSource(String wmDataSource) booleanbooleanbooleanboolean 
- 
Field Details
- 
serialVersionUID
public static final long serialVersionUIDfor serialization- See Also:
 
 - 
NO_CONTOUR_HERE
public static final int NO_CONTOUR_HEREconstant used to define areas of spectrogram that do not contain whistle- See Also:
 
 
 - 
 - 
Constructor Details
- 
RoccaParameters
public RoccaParameters() 
 - 
 - 
Method Details
- 
clone
 - 
getSerialVersionUID
public static long getSerialVersionUID() - 
getChannelMap
public int getChannelMap() - 
setChannelMap
public void setChannelMap(int channelMap)  - 
getEnergyBinSize
public int getEnergyBinSize() - 
getFftDataBlock
public int getFftDataBlock() - 
getNoiseSensitivity
public double getNoiseSensitivity() - 
setNoiseSensitivity
public void setNoiseSensitivity(double noiseSensitivity)  - 
getRoccaClassifierModelFilename
return the name of the whistle classifier- Returns:
 
 - 
getRoccaClickClassifierModelFilename
return the name of the click classifier serialVersionUID=24 2016/08/10- Returns:
 
 - 
getRoccaEventClassifierModelFilename
return the name of the event classifier serialVersionUID=24 2016/08/10- Returns:
 
 - 
setRoccaClassifierModelFilename
Set the whistle classifier file- Parameters:
 roccaClassifierModelFilename- the roccaClassifierModelFilename to set
 - 
setRoccaClickClassifierModelFilename
Set the click classifier file serialVersionUID=24 2016/08/10- Parameters:
 roccaClickClassifierModelFilename- the roccaClassifierModelFilename to set
 - 
setRoccaEventClassifierModelFilename
Set the event classifier file serialVersionUID=24 2016/08/10- Parameters:
 roccaEventClassifierModelFilename- the roccaEventClassifierModelFilename to set
 - 
getRoccaContourStatsOutputFilename
 - 
getStage1Link
public int getStage1Link()- Returns:
 - the stage1Link
 
 - 
setStage1Link
public void setStage1Link(int stage1Link) - Parameters:
 stage1Link- the stage1Link to set
 - 
getRoccaOutputDirectory
 - 
getClassificationThreshold
public int getClassificationThreshold() - 
setClassificationThreshold
public void setClassificationThreshold(int classificationThreshold)  - 
getSightingThreshold
public int getSightingThreshold() - 
setSightingThreshold
public void setSightingThreshold(int sightingThreshold)  - 
getRoccaSightingStatsOutputFilename
 - 
getFilenameTemplate
 - 
setFilenameTemplate
 - 
getWmDataSource
 - 
setWmDataSource
 - 
getClickDataSource
- Returns:
 - the clickDataSource
 
 - 
setClickDataSource
- Parameters:
 clickDataSource- the clickDataSource to set
 - 
getClickNoiseDataSource
- Returns:
 - the clickNoiseDataSource
 
 - 
setClickNoiseDataSource
- Parameters:
 clickNoiseDataSource- the clickNoiseDataSource to set
 - 
weAreUsingFFT
public boolean weAreUsingFFT() - 
setUseFFT
public void setUseFFT(boolean useFFT)  - 
weAreUsingClick
public boolean weAreUsingClick() - 
setUseClick
public void setUseClick(boolean useClick)  - 
weAreUsingWMD
public boolean weAreUsingWMD() - 
setUseWMD
public void setUseWMD(boolean useWMD)  - 
getClickTypeList
public int[] getClickTypeList()- Returns:
 - the clickTypeList
 
 - 
setClickTypeList
public void setClickTypeList(int[] clickTypeList) - Parameters:
 clickTypeList- the clickTypeList to set
 - 
getNotesEncounterID
- Returns:
 - the notesEncounterID
 
 - 
setNotesEncounterID
- Parameters:
 notesEncounterID- the notesEncounterID to set
 - 
getNotesCruiseID
- Returns:
 - the notesCruiseID
 
 - 
setNotesCruiseID
- Parameters:
 notesCruiseID- the notesCruiseID to set
 - 
getNotesDataProvider
- Returns:
 - the notesDataProvider
 
 - 
setNotesDataProvider
- Parameters:
 notesDataProvider- the notesDataProvider to set
 - 
getNotesKnownSpecies
- Returns:
 - the notesKnownSpecies
 
 - 
setNotesKnownSpecies
- Parameters:
 notesKnownSpecies- the notesKnownSpecies to set
 - 
getNotesGeoLoc
- Returns:
 - the notesGeoLoc
 
 - 
setNotesGeoLoc
- Parameters:
 notesGeoLoc- the notesGeoLoc to set
 - 
getNotesChan
- Returns:
 - the notesChan
 
 - 
setNotesChan
- Parameters:
 notesChan- the notesChan to set
 - 
areWeRunningAncCalcsOnClicks
public boolean areWeRunningAncCalcsOnClicks()- Returns:
 - whether or not we're running Ancillary Calcs
 
 - 
setClickAncCalcs
public void setClickAncCalcs(boolean runAncillaryCalcs) - Parameters:
 runAncillaryCalcs- set whether or not to run Ancillary Calcs
 - 
areWeRunningAncCalcsOnWhistles
public boolean areWeRunningAncCalcsOnWhistles()- Returns:
 - whether or not we're running Ancillary Calcs
 
 - 
setWhistleAncCalcs
public void setWhistleAncCalcs(boolean runAncillaryCalcs) - Parameters:
 runAncillaryCalcs- set whether or not to run Ancillary Calcs
 - 
isClassifyWhistles
public boolean isClassifyWhistles() - 
setClassifyWhistles
public void setClassifyWhistles(boolean classifyWhistles)  - 
isClassifyClicks
public boolean isClassifyClicks() - 
setClassifyClicks
public void setClassifyClicks(boolean classifyClicks)  - 
isClassifyEvents
public boolean isClassifyEvents() - 
setClassifyEvents
public void setClassifyEvents(boolean classifyEvents)  - 
weAreUsingGPS
public boolean weAreUsingGPS() - 
setUseGPS
public void setUseGPS(boolean useGPS)  - 
getGpsSource
 - 
setGpsSource
 - 
isTrimWav
public boolean isTrimWav() - 
setTrimWav
public void setTrimWav(boolean trimWav)  - 
isStrongWhistleDiff
public boolean isStrongWhistleDiff() - 
setStrongWhistleDiff
public void setStrongWhistleDiff(boolean strongWhistleDiff)  - 
getParameterSet
Description copied from interface:ManagedParametersGet a set of data that describes all of the parameters in a class- Specified by:
 getParameterSetin interfaceManagedParameters- Returns:
 - description of the parameters in a class.
 
 
 -