35#ifndef AIMS_TOPOLOGY_TOPOCLASSIFIER_H
36#define AIMS_TOPOLOGY_TOPOCLASSIFIER_H
38#include <cartodata/volume/volume.h>
41#include <aims/bucket/bucketMap.h>
42#include <aims/utility/converter_bucket.h>
55 ResultRcType
doit(
const T & );
56 ResultType &
takeResult( ResultRcType & d ) {
return d; }
90template<
typename T >
inline
107 for ( z=0; z<dz; z++ )
108 for ( y=0; y<dy; y++ )
109 for ( x=0; x<dx; x++ )
110 if( ( label = d( x, y, z ) ) )
122template<
typename T >
inline
128 typename aims::BucketMap<T>::Bucket::const_iterator ib, eb;
139 for( ibm=d.begin(); ibm!=ebm; ++ibm )
142 for( ib=ibm->second.begin(), eb=ibm->second.end(); ib!=eb; ++ib )
161 aims::BucketMap<Void>::Bucket::const_iterator ib, eb;
172 for( ibm=d.begin(); ibm!=ebm; ++ibm )
175 for( ib=ibm->second.begin(), eb=ibm->second.end(); ib!=eb; ++ib )
void computeLocalCCNumbers(const Point3d &, int)
static int classification(int, int)
aims::BucketMap< int16_t > ResultType
virtual ~TopologicalClassifier()
ResultType & takeResult(ResultRcType &d)
ResultRcType doit(const aims::BucketMap< T > &)
carto::rc_ptr< aims::BucketMap< int16_t > > ResultRcType
virtual ~TopologicalClassifier()
carto::VolumeRef< int16_t > ResultType
ResultType & takeResult(ResultRcType &d)
carto::VolumeRef< int16_t > ResultRcType
ResultRcType doit(const carto::VolumeRef< T > &)
ResultType & takeResult(ResultRcType &d)
virtual ~TopologicalClassifier()
ResultRcType doit(const T &)
std::map< int, Bucket >::const_iterator const_iterator
void setSizeXYZT(float sizex, float sizey, float sizez, float sizet)
std::map< Point3d, T, BucketMapLess > Bucket
void setVoxelSize(float vx, float vy=1., float vz=1., float vt=1.)
std::vector< float > getVoxelSize() const
std::vector< int > getSize() const
AimsVector< int16_t, 3 > Point3d