35 #ifndef AIMS_ROI_ROIITERATOR_H
36 #define AIMS_ROI_ROIITERATOR_H
98 virtual size_t count()
const = 0;
183 std::set< std::string > _names;
184 std::set< std::string >::const_iterator _itNames;
186 std::vector<std::string> _nameAttributes;
228 typename std::map< T, specifiedLabels > _labels;
229 typename std::map< T, specifiedLabels >::const_iterator _label;
245 virtual size_t count()
const;
262 _voxelSampler( voxelSampler )
273 _voxelSampler( voxelSampler )
276 _data.reset( reader.
read() );
286 typename std::map< T, specifiedLabels >::iterator it;
288 for( p[2] = 0; p[2] < _data->getSizeZ(); ++p[2] ) {
289 for( p[1] = 0; p[1] < _data->getSizeY(); ++p[1] ) {
290 for( p[0] = 0; p[0] < _data->getSizeX(); ++p[0] ) {
293 if ( v && !std::isnan( v ) ) {
294 it = _labels.find( v );
295 _labels[ v ].lastPoint = p;
297 if ( it == _labels.end() ) {
298 _labels[ v ].firstPoint = p;
337 return _label != _labels.end();
344 _label = _labels.begin();
351 return _labels.size();
440 rc_ptr< RoiIterator >
453 rc_ptr< RoiIterator >
const Point3d volumeDimension() const
MotionedRoiIterator(const carto::rc_ptr< RoiIterator > &, const AffineTransformation3d &)
float voxelVolume() const
virtual void setRegionNameAttributes(const std::vector< std::string > &)
Set region name attribute in graph.
virtual ~MotionedRoiIterator()
const AffineTransformation3d _motion
virtual carto::rc_ptr< MaskIterator > maskIterator() const
virtual bool isValid() const
virtual std::string regionName() const
virtual carto::rc_ptr< ROILabelMap > createLabelMap()
const carto::rc_ptr< RoiIterator > _roiIterator
virtual size_t count() const
const Point3df voxelSize() const
virtual ~MotionedVolumeROILabelMap()
virtual int32_t at(const Point3df &) const
MotionedVolumeROILabelMap(carto::VolumeRef< int32_t > &, const AffineTransformation3d &)
std::vector< std::string > roiNames
virtual int32_t at(const Point3df &) const =0
Generic reader for every format of Aims object.
virtual bool read(T &obj, int border=0, const std::string *format=0, int frame=-1)
Finds the correct format and reads the object. if format is specified, this format is tried first,...
virtual bool isValid() const
RoiIteratorOf(const std::string &fileName, carto::rc_ptr< VoxelSampler > voxelSampler=carto::rc_ptr< VoxelSampler >())
RoiIteratorOf(const carto::rc_ptr< Graph > &roi, carto::rc_ptr< VoxelSampler > voxelSampler=carto::rc_ptr< VoxelSampler >())
virtual std::string regionName() const
virtual carto::rc_ptr< MaskIterator > maskIterator() const
RoiIteratorOf(const Graph &roi, carto::rc_ptr< VoxelSampler > voxelSampler=carto::rc_ptr< VoxelSampler >())
virtual size_t count() const
virtual void setRegionNameAttributes(const std::vector< std::string > &attributes)
Set region name attribute in graph.
virtual size_t count() const =0
float voxelVolume() const
virtual void setRegionNameAttributes(const std::vector< std::string > &)
Set region name attribute in graph.
const Point3df voxelSize() const
virtual void setRegionNameAttributes(const std::string &)
Set region name attribute in graph.
virtual std::string regionName() const =0
virtual carto::rc_ptr< ROILabelMap > createLabelMap()
virtual carto::rc_ptr< MaskIterator > maskIterator() const =0
virtual bool isValid() const =0
const Point3d volumeDimension() const
VolumeROILabelMap(carto::VolumeRef< int32_t > &)
virtual ~VolumeROILabelMap()
virtual int32_t at(const Point3df &) const
The class for EcatSino data write operation.
carto::rc_ptr< RoiIterator > getRoiIterator(const std::string &fileName, carto::rc_ptr< VoxelSampler > voxelSampler=carto::rc_ptr< VoxelSampler >())
std::string toString(const T &object)