#include <DiscontinuousSegmentation.hxx>
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. |
Definition at line 8 of file DiscontinuousSegmentation.hxx.
typedef std::vector<double> CLAM::DiscontinuousSegmentation::TimePositions |
Reimplemented from CLAM::Segmentation.
Definition at line 55 of file DiscontinuousSegmentation.hxx.
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).
Definition at line 67 of file DiscontinuousSegmentation.hxx.
References takeArray().
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] |
Inserts a new border at timePosition.
Implements CLAM::Segmentation.
Definition at line 99 of file DiscontinuousSegmentation.hxx.
References CLAM::Segmentation::_current, CLAM::Segmentation::_labels, CLAM::Segmentation::_maxPosition, CLAM::Segmentation::_offsets, CLAM::Segmentation::_onsets, and CLAM::Segmentation::_selection.
Referenced by insert(), and Simac::ChordSegmentator::openSegment().
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] |
take data from an array.
Implements CLAM::Segmentation.
Definition at line 75 of file DiscontinuousSegmentation.hxx.
References CLAM::Segmentation::_labels, CLAM::Segmentation::_maxPosition, CLAM::Segmentation::_offsets, CLAM::Segmentation::_onsets, and CLAM::Segmentation::_selection.
Referenced by DiscontinuousSegmentation().