Package whistlesAndMoans
Class ConnectedRegion
java.lang.Object
whistlesAndMoans.ConnectedRegion
- All Implemented Interfaces:
Cloneable
-
Constructor Summary
ConstructorDescriptionConnectedRegion
(int channel, int firstSlice, int regionNumber, int height) Constructor used during initial region detection process.ConnectedRegion
(ConnectedRegion oldRegion, SliceData oldSlice, int peakNumber, int nJoinedStart) Constructor to create a new connected region during fragmentation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addOfflineSlice
(SliceData newSlice) Add in a slice during offline mode.void
addPixel
(int iCol, int iRow, FFTDataUnit fftDataUnit) double
boolean
Check for slices repeating twice.void
similar to condenseInfo, but for refragmetned fragments.void
Go through the data and remove create triplets of into about each part of each slice in the region.void
extendRegion
(SliceData oldSlice, int peakNumber) Extend a region during fragmentation taking a single peak from a new slice.int
long
double
getEndGradient
(int nBins) Gradient at the end of the shape for the first peak in pixels per pixel.int
int[]
int
int
int
int
int[]
int
int
double
getStartGradient
(int nBins) Gradient at the start of the shape for the first peak in pixels per pixel.long
long
int[]
int
boolean
isCross
(int maxCrossLength) boolean
boolean
isMerge
(int maxCrossLength) boolean
boolean
isSplit
(int maxCrossLength) void
for merging two regions during the fragmentation process.void
mergeRegion
(ConnectedRegion region) Merge another region into this region and then tell the array of regions that all references to that other region now refer to this one.void
recycle()
void
resetRegion
(int channel, int firstSlice, int regionNumber, int height) Prepare a region for re-use (saves some time reallocating the object if they were only used very briefly).void
void
setGrowing
(boolean growing) void
setNJoinedEnd
(int nJoinedEnd) void
setNJoinedStart
(int nJoinedStart)
-
Constructor Details
-
ConnectedRegion
public ConnectedRegion(int channel, int firstSlice, int regionNumber, int height) Constructor used during initial region detection process.- Parameters:
channel
- channel numberfirstSlice
- first slice numberregionNumber
- region numberheight
- fft length
-
ConnectedRegion
public ConnectedRegion(ConnectedRegion oldRegion, SliceData oldSlice, int peakNumber, int nJoinedStart) Constructor to create a new connected region during fragmentation. Constructor starts by making a single peak in a single slice.- Parameters:
oldRegion
- old mother region which is being fragmentedpeakNumber
- peak number in the slicenJoinedStart
- number of contours that joined this one before the were fragmented.sliceData
- start slice in the old region
-
-
Method Details
-
extendRegion
Extend a region during fragmentation taking a single peak from a new slice.- Parameters:
oldSlice
- reference to slice in old unitpeakNumber
- number of peak to copy
-
addOfflineSlice
Add in a slice during offline mode.- Parameters:
i
- slice number (or slice index as it's read back !peakInfo
-
-
checkRepeatslices
public boolean checkRepeatslices()Check for slices repeating twice.- Returns:
-
resetRegion
public void resetRegion(int channel, int firstSlice, int regionNumber, int height) Prepare a region for re-use (saves some time reallocating the object if they were only used very briefly).- Parameters:
channel
-firstSlice
-regionNumber
-height
-
-
addPixel
-
mergeRegion
Merge another region into this region and then tell the array of regions that all references to that other region now refer to this one.- Parameters:
region
- other regionregionArray
- array of region references to update.
-
mergeFragmentedRegion
for merging two regions during the fragmentation process. Can be assumed that all slices in r2 come AFTER those in this.- Parameters:
r2
-
-
recycle
public void recycle() -
condenseInfo
public void condenseInfo()Go through the data and remove create triplets of into about each part of each slice in the region. Called durign initial detection, not after refragmentation of complex shapes. -
cleanFragmentedFragment
public void cleanFragmentedFragment()similar to condenseInfo, but for refragmetned fragments. -
isGrowing
public boolean isGrowing() -
setGrowing
public void setGrowing(boolean growing) -
getChannel
public int getChannel() -
getRegionNumber
public int getRegionNumber() -
getFirstSlice
public int getFirstSlice() -
getSliceHeight
public int getSliceHeight() -
getSliceData
-
getNumSlices
public int getNumSlices() -
getTotalPixels
public int getTotalPixels() -
getStartMillis
public long getStartMillis() -
getDuration
public long getDuration() -
getStartSample
public long getStartSample() -
sayRegion
public void sayRegion() -
calculateRMSAmplitude
public double calculateRMSAmplitude() -
getFreqRange
public int[] getFreqRange() -
getMaxPeaks
public int getMaxPeaks() -
getPeakFreqsBins
public int[] getPeakFreqsBins() -
getTimesBins
public int[] getTimesBins() -
getFirstSliceData
-
getLastSliceData
-
setNJoinedStart
public void setNJoinedStart(int nJoinedStart) - Parameters:
nJoinedStart
- the nJoinedStart to set
-
getNJoinedStart
public int getNJoinedStart()- Returns:
- the nJoinedStart
-
setNJoinedEnd
public void setNJoinedEnd(int nJoinedEnd) - Parameters:
nJoinedEnd
- the nJoinedEnd to set
-
getNJoinedEnd
public int getNJoinedEnd()- Returns:
- the nJoinedEnd
-
getStartGradient
public double getStartGradient(int nBins) Gradient at the start of the shape for the first peak in pixels per pixel.
Used for rapid region matching in RejoiningFragmenter- Parameters:
nBins
- number of bins to measure over.- Returns:
- gradient.
-
getEndGradient
public double getEndGradient(int nBins) Gradient at the end of the shape for the first peak in pixels per pixel.
Used for rapid region matching in RejoiningFragmenter- Parameters:
nBins
- number of bins to measure over.- Returns:
- gradient.
-
isCross
public boolean isCross(int maxCrossLength) - Returns:
- true if two or more whistles cross in this region
-
isMerge
public boolean isMerge(int maxCrossLength) - Returns:
- true if two or more whistles merged into this Region
-
isSplit
public boolean isSplit(int maxCrossLength) - Returns:
- true if this region splits into two or more parts
-
isRightMess
public boolean isRightMess()- Returns:
- true if > 2 sounds joined this region at the start and > 2 left at the end, but they were not the same number of sounds.
-