Package whistlesAndMoans
Class ConnectedRegion
java.lang.Object
whistlesAndMoans.ConnectedRegion
- All Implemented Interfaces:
 Cloneable
- 
Constructor Summary
ConstructorsConstructorDescriptionConnectedRegion(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 TypeMethodDescriptionvoidaddOfflineSlice(SliceData newSlice) Add in a slice during offline mode.voidaddPixel(int iCol, int iRow, FFTDataUnit fftDataUnit) protected voidBreak short bridges in time.doublebooleanCheck for slices repeating twice.voidsimilar to condenseInfo, but for refragmetned fragments.voidGo through the data and remove create triplets of into about each part of each slice in the region.voidextendRegion(SliceData oldSlice, int peakNumber) Extend a region during fragmentation taking a single peak from a new slice.protected voidprotected voidfillSmallHoles(int maxHeight, int maxWidth) Fill small holes in the regions which will mess up later fragmentationintlongdoublegetEndGradient(int nBins) Gradient at the end of the shape for the first peak in pixels per pixel.intint[]intintintintint[]intintdoublegetStartGradient(int nBins) Gradient at the start of the shape for the first peak in pixels per pixel.longlongint[]intbooleanisCross(int maxCrossLength) booleanbooleanisMerge(int maxCrossLength) booleanbooleanisSplit(int maxCrossLength) voidfor merging two regions during the fragmentation process.voidmergeRegion(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.voidrecycle()voidresetRegion(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).voidvoidsetGrowing(boolean growing) voidsetNJoinedEnd(int nJoinedEnd) voidsetNJoinedStart(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
 - 
fillSmallHoles
protected void fillSmallHoles(int maxHeight, int maxWidth) Fill small holes in the regions which will mess up later fragmentation- Parameters:
 maxHeight- max height of hole in pixelsmaxWidth- max width of hole in pixels
 - 
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. - 
breakShortBridges
protected void breakShortBridges()Break short bridges in time. - 
fillSmallHoles
protected void fillSmallHoles() - 
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.
 
 
 -