CLAM::DiscontinuousSegmentation Class Reference

#include <DiscontinuousSegmentation.hxx>

List of all members.

Classes

class  InsertedOutOfBounds
class  MissplacedOffset
class  MissplacedOnset
class  OffsetMissing

Public Types

typedef std::vector< double > TimePositions

Public Member Functions

 DiscontinuousSegmentation (double maxPosition=0)
 DiscontinuousSegmentation (double maxPosition, const TData *begin, const TData *end)
 It will create a discontinuous segmentation where the onsets and offsets are specified on the ordered list of bounds [begin,end).
void takeArray (const TData *begin, const TData *end)
 take data from an array.
unsigned insert (double timePosition)
 Inserts a new border at timePosition.
unsigned insert (double timePosition, std::string label)
 Inserts a new border at timePosition and adds a label to the new segment.
void remove (unsigned segment)
 Removes the specified segment.
unsigned pickOffset (double timePosition, double tolerance) const
 Returns the index of the segment whose offset is nearest to the given time position, and within the tolerance.
unsigned pickOnset (double timePosition, double tolerance) const
 Returns the index of the segment whose onset is nearest to the given time position, and within the tolerance.
unsigned pickSegmentBody (double timePosition) const
 Returns the index of the segment which body is on timePosition.
void dragOnset (unsigned segment, double newTimePosition)
 Performs a dragging movement for the Onset of the given segment in order to move it to the newTimePosition.
void dragOffset (unsigned segment, double newTimePosition)
 Performs a dragging movement for the Offset of the given segment in order to move it to the newTimePosition.
void fillArray (DataArray &segmentation) const
 Fills a DataArray with the segmentation markers.
const char * GetClassName () const
 Return the class name.

Detailed Description

Definition at line 8 of file DiscontinuousSegmentation.hxx.


Member Typedef Documentation

Reimplemented from CLAM::Segmentation.

Definition at line 55 of file DiscontinuousSegmentation.hxx.


Constructor & Destructor Documentation

CLAM::DiscontinuousSegmentation::DiscontinuousSegmentation ( double  maxPosition = 0  )  [inline]

Definition at line 57 of file DiscontinuousSegmentation.hxx.

CLAM::DiscontinuousSegmentation::DiscontinuousSegmentation ( double  maxPosition,
const TData begin,
const TData end 
) [inline]

It will create a discontinuous segmentation where the onsets and offsets are specified on the ordered list of bounds [begin,end).

Precondition:
The onsets is a sorted container of bounds in between 0 and maxPosition

Definition at line 67 of file DiscontinuousSegmentation.hxx.

References takeArray().


Member Function Documentation

void CLAM::DiscontinuousSegmentation::dragOffset ( unsigned  segment,
double  newTimePosition 
) [inline, virtual]

Performs a dragging movement for the Offset of the given segment in order to move it to the newTimePosition.

Constraints for the segmentation mode are applied.

Implements CLAM::Segmentation.

Definition at line 218 of file DiscontinuousSegmentation.hxx.

References CLAM::Segmentation::_maxPosition, CLAM::Segmentation::_offsets, and CLAM::Segmentation::_onsets.

Referenced by Simac::ChordSegmentator::closeLastSegment(), Simac::ChordSegmentator::closeSegment(), Simac::ChordSegmentator::doItSimilarity(), Simac::ChordSegmentator::doItSimple(), and Simac::ChordSegmentator::mergeSegmentIfIdenticalChordInPreviousSegment().

void CLAM::DiscontinuousSegmentation::dragOnset ( unsigned  segment,
double  newTimePosition 
) [inline, virtual]

Performs a dragging movement for the Onset of the given segment in order to move it to the newTimePosition.

Constraints for the segmentation mode are applied.

Implements CLAM::Segmentation.

Definition at line 196 of file DiscontinuousSegmentation.hxx.

References CLAM::Segmentation::_offsets, and CLAM::Segmentation::_onsets.

void CLAM::DiscontinuousSegmentation::fillArray ( DataArray segmentation  )  const [inline, virtual]

Fills a DataArray with the segmentation markers.

Implements CLAM::Segmentation.

Definition at line 237 of file DiscontinuousSegmentation.hxx.

References CLAM::Segmentation::_offsets, CLAM::Segmentation::_onsets, CLAM::Array< T >::Resize(), and CLAM::Array< T >::SetSize().

const char* CLAM::DiscontinuousSegmentation::GetClassName (  )  const [inline, virtual]

Return the class name.

Reimplemented from CLAM::Segmentation.

Definition at line 249 of file DiscontinuousSegmentation.hxx.

unsigned CLAM::DiscontinuousSegmentation::insert ( double  timePosition,
std::string  label 
) [inline]

Inserts a new border at timePosition and adds a label to the new segment.

Definition at line 138 of file DiscontinuousSegmentation.hxx.

References insert(), and CLAM::Segmentation::setLabel().

unsigned CLAM::DiscontinuousSegmentation::insert ( double  timePosition  )  [inline, virtual]
unsigned CLAM::DiscontinuousSegmentation::pickOffset ( double  timePosition,
double  tolerance 
) const [inline, virtual]

Returns the index of the segment whose offset is nearest to the given time position, and within the tolerance.

If no end of segment within the tolerance range an invalid segment is returned (nSegments)

Implements CLAM::Segmentation.

Definition at line 164 of file DiscontinuousSegmentation.hxx.

References CLAM::Segmentation::_offsets.

unsigned CLAM::DiscontinuousSegmentation::pickOnset ( double  timePosition,
double  tolerance 
) const [inline, virtual]

Returns the index of the segment whose onset is nearest to the given time position, and within the tolerance.

If no end of segment within the tolerance range an invalid segment is returned (nSegments)

Implements CLAM::Segmentation.

Definition at line 174 of file DiscontinuousSegmentation.hxx.

References CLAM::Segmentation::_onsets.

unsigned CLAM::DiscontinuousSegmentation::pickSegmentBody ( double  timePosition  )  const [inline, virtual]

Returns the index of the segment which body is on timePosition.

Implements CLAM::Segmentation.

Definition at line 181 of file DiscontinuousSegmentation.hxx.

References CLAM::Segmentation::_offsets, and CLAM::Segmentation::_onsets.

void CLAM::DiscontinuousSegmentation::remove ( unsigned  segment  )  [inline, virtual]

Removes the specified segment.

The previous segment is expanded to cover the region. When removing the first segment, the next segment is the one expanded to start at 0. When just a single element, no efect at all.

Implements CLAM::Segmentation.

Definition at line 150 of file DiscontinuousSegmentation.hxx.

References CLAM::Segmentation::_current, CLAM::Segmentation::_labels, CLAM::Segmentation::_offsets, CLAM::Segmentation::_onsets, and CLAM::Segmentation::_selection.

Referenced by Simac::ChordSegmentator::eraseAllSegments(), and Simac::ChordSegmentator::mergeSegmentIfIdenticalChordInPreviousSegment().

void CLAM::DiscontinuousSegmentation::takeArray ( const TData begin,
const TData end 
) [inline, virtual]

The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.3