35 #ifndef AIMS_ROI_ROIITERATOR_H 36 #define AIMS_ROI_ROIITERATOR_H 54 virtual int32_t
at(
const Point3df & )
const = 0;
96 virtual bool isValid()
const = 0;
97 virtual void restart() = 0;
98 virtual size_t count()
const = 0;
100 virtual void next() = 0;
102 inline const Point3d volumeDimension()
const;
103 inline const Point3df voxelSize()
const;
104 inline float voxelVolume()
const;
105 virtual std::string regionName()
const = 0;
117 virtual void setRegionNameAttributes(
const std::string & );
132 virtual bool isValid()
const;
133 virtual void restart();
134 virtual size_t count()
const;
138 inline const Point3d volumeDimension()
const;
139 inline const Point3df voxelSize()
const;
140 inline float voxelVolume()
const;
141 virtual std::string regionName()
const;
142 virtual void setRegionNameAttributes(
const std::vector<std::string>& );
155 return maskIterator()->volumeDimension();
161 return maskIterator()->voxelSize();
167 return maskIterator()->voxelVolume();
183 std::set< std::string > _names;
184 std::set< std::string >::const_iterator _itNames;
186 std::vector<std::string> _nameAttributes;
201 virtual bool isValid()
const;
202 virtual void restart();
203 virtual size_t count()
const;
212 virtual void setRegionNameAttributes(
const std::vector<std::string>
214 virtual std::string regionName()
const;
229 typename std::map< T, specifiedLabels > _labels;
230 typename std::map< T, specifiedLabels >::const_iterator _label;
244 virtual bool isValid()
const;
245 virtual void restart();
246 virtual size_t count()
const;
248 virtual std::string regionName()
const;
261 _data( const_cast<
AimsData<T> *>( &data ) ),
263 _voxelSampler( voxelSampler )
275 _voxelSampler( voxelSampler )
278 reader.
read( *_data );
288 typename std::map< T, specifiedLabels >::iterator it;
290 for( p[2] = 0; p[2] < _data->dimZ(); ++p[2] ) {
291 for( p[1] = 0; p[1] < _data->dimY(); ++p[1] ) {
292 for( p[0] = 0; p[0] < _data->dimX(); ++p[0] ) {
295 if ( v && !std::isnan( v ) ) {
296 it = _labels.find( v );
297 _labels[ v ].lastPoint = p;
299 if ( it == _labels.end() ) {
300 _labels[ v ].firstPoint = p;
313 if ( _freeData )
delete _data;
339 return _label != _labels.end();
346 _label = _labels.begin();
353 return _labels.size();
421 rc_ptr< RoiIterator >
virtual int32_t at(const Point3df &) const =0
virtual bool isValid() const =0
carto::rc_ptr< RoiIterator > getRoiIterator(const std::string &fileName, carto::rc_ptr< VoxelSampler > voxelSampler=carto::rc_ptr< VoxelSampler >())
virtual ~VolumeROILabelMap()
The class for EcatSino data write operation.
const Point3df voxelSize() const
virtual void setRegionNameAttributes(const std::vector< std::string > &)
Set region name attribute in graph.
float voxelVolume() const
virtual std::string regionName() const =0
std::vector< std::string > roiNames
const carto::rc_ptr< RoiIterator > _roiIterator
Generic reader for every format of Aims object.
virtual carto::rc_ptr< MaskIterator > maskIterator() const =0
virtual size_t count() const =0
std::string toString(const T &object)
const Point3d volumeDimension() const
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 ~MotionedVolumeROILabelMap()