34#ifndef AIMS_CONNECTIVITY_COMPONENT_H
35#define AIMS_CONNECTIVITY_COMPONENT_H
40#include <cartodata/volume/volume.h>
51 template <
typename T,
typename O>
52 class ConnectedComponentEngine
56 ConnectedComponentEngine();
60 template <
typename T,
typename O>
68 std::map<O, size_t>& valids,
69 const T & backgrnd = 0,
bool bin =
true,
70 size_t minSize = 0,
size_t maxSize = 0,
72 bool verbose =
true );
78 const T & backgrnd = 0,
bool bin =
true,
79 size_t minSize = 0,
size_t maxSize = 0,
81 bool verbose =
true );
85 std::map<O, size_t>& valids,
87 bool verbose =
true );
91 std::multimap<size_t, O>& compSizes,
93 const T & backgrnd = 0,
bool bin =
true,
94 bool verbose =
true );
97 ConnectedComponentEngine();
103 template<
typename T,
typename O>
110 const T & backgrnd,
bool bin,
111 size_t minSize,
size_t maxSize,
size_t numMax,
114 std::map<O, size_t> valids;
119 backgrnd, bin, minSize, maxSize,
127 std::map<T, size_t>& valids,
128 const T & backgrnd = 0,
bool bin =
true,
129 size_t minSize = 0,
size_t maxSize = 0,
131 bool verbose =
true )
139 backgrnd, bin, minSize, maxSize,
147 const T & backgrnd = 0,
bool bin =
true,
148 size_t minSize = 0,
size_t maxSize = 0,
150 bool verbose =
true )
152 std::map<T, size_t> valids;
160 backgrnd, bin, minSize, maxSize,
167 const T & backgrnd = 0,
bool bin =
true,
168 size_t minSize = 0,
size_t maxSize = 0,
170 bool verbose =
true );
172 template <
typename T>
176 const T & backgrnd = 0,
bool bin =
true,
177 size_t minsize = 0,
size_t maxSize = 0,
179 bool verbose =
true );
181 template <
typename T>
183 const BucketMap<T>& data,
185 const T & backgrnd = 0,
bool bin =
true,
186 size_t minsize = 0,
size_t maxSize = 0,
188 bool verbose =
true );
190 template <
typename T>
195 const T & backgrnd = 0,
bool bin =
true,
196 size_t minsize = 0,
size_t maxSize = 0,
size_t maxcomp = 0,
197 bool verbose =
true );
The bucket base class to manage packages of points associated to their value during time.
An alternate, ordered, representation for buckets (voxels lists).
static void filterInFrame(const carto::VolumeRef< T > &cc, carto::VolumeRef< O > out, std::map< O, size_t > &valids, int t, bool verbose=true)
static void connected(const carto::VolumeRef< T > &data, carto::VolumeRef< O > out, aims::Connectivity::Type connectivity, std::map< O, size_t > &valids, const T &backgrnd=0, bool bin=true, size_t minSize=0, size_t maxSize=0, size_t numMax=0, bool verbose=true)
static void connectedInFrame(const carto::VolumeRef< T > &data, carto::VolumeRef< O > out, Connectivity::Type connectivity, std::multimap< size_t, O > &compSizes, int t, const T &backgrnd=0, bool bin=true, bool verbose=true)
Type
The different kinds of connectivity.
The class for EcatSino data write operation.
carto::VolumeRef< int16_t > AimsLabeledConnectedComponent(AimsBucket< Void > &component, const carto::VolumeRef< T > &data, aims::Connectivity::Type connectivity, const T &backgrnd=0, bool bin=true, size_t minsize=0, size_t maxSize=0, size_t maxcomp=0, bool verbose=true)
void AimsConnectedComponent(carto::VolumeRef< T > data, aims::Connectivity::Type connectivity, std::map< T, size_t > &valids, const T &backgrnd=0, bool bin=true, size_t minSize=0, size_t maxSize=0, size_t numMax=0, bool verbose=true)