34 #ifndef AIMS_GRAPH_GRAPHMANIP_H 35 #define AIMS_GRAPH_GRAPHMANIP_H 46 class AffineTransformation3d;
55 template<
typename T>
class BucketMap;
100 typedef std::map<std::string, std::map<std::string,GraphElementCode> >
113 template <
typename T>
115 template <
typename T>
117 template <
typename T>
150 static void storeTalairach(
Graph & g,
const Motion & m,
151 bool force_old_attributes=
false);
159 static bool hasOldTalairachTransform(
const Graph & g );
164 static bool buckets2Volume(
Graph & g );
169 static bool volume2Buckets(
Graph & g, CreateBucketFunc f = 0 );
171 graphElementCode(
Graph &,
const std::string &
syntax,
172 const std::string &
id );
174 graphElementCodeByAtt(
Graph &,
const std::string &
syntax,
175 const std::string & attrib );
182 static void storeAims(
Graph & graph, GraphObject* vertex,
186 template <
typename T>
189 std::map<T, std::string> *trans = 0 );
191 template <
typename T>
194 std::map<T,std::string> *trans = 0,
195 bool automaticBackgroundSearch =
true );
196 static void setAttributeColor(
Graph & graph,
const std::string & att,
198 static void setAttributeColor(
Graph & graph,
const std::string & att,
200 static void setAttributeColor(
Graph & graph,
const std::string & att,
201 const std::vector<int> & );
202 std::vector<int> attributeColor(
const Graph & graph,
203 const std::string & att );
207 static void completeGraph(
Graph & );
215 bool mergeMesh =
true,
bool invNormal =
false);
216 static void printGraphElementTable(
const Graph &,
217 std::ostream & ostr = std::cout );
219 defaultExtensionForObjectType(
const std::string & otype,
220 const std::string & dtype );
230 std::string DataTypeCode<aims::GraphElementCode>::dataType()
232 return "GraphElementCode";
235 #define _TMP_ rc_ptr<std::map<std::string,std::map<std::string,aims::GraphElementCode> > > #define DECLARE_GENERIC_OBJECT_TYPE(T)
carto::PropertySet & getHeader(T &obj)
std::string local_file_attribute
std::string syntax
syntactic attribute of attributed objects
std::string dataType
data type as in Aims Finder: "S16", "U8", "FLOAT", ...
std::map< std::string, std::map< std::string, GraphElementCode > > GraphElementTable
GraphElementCode table, stored in graphs in attribute "aims_objects_table" (carto::rc_ptr<GraphElemen...
Describe how Aims objects are stored in graph objects.
std::string global_index_attribute
The class for EcatSino data write operation.
GraphElementCode & operator=(const GraphElementCode &x)
std::string attribute
attribute found in graph objects, this attribute is a reference-counting pointer (carto::rc_ptr<T>) t...
std::string global_attribute
std::string objectType
object type as in aims Finder: "Volume", "Bucket", "Mesh", ...
aims::AffineTransformation3d Motion
Various manipulations on graphs.
std::string id
ID for object: filename (globals) or attribute for filename (locals)
void adjustVoxelSize(T &, const T &)
utility function to copy voxel sizes from an object to another (if applicable)
void insertElement(T &dest, int index, const T &src)
insert a sub-element in a container data (time bucket/mesh/texture, or volume of labels...)
std::string global_filename
void setHeaderInfo(T &obj, const carto::GenericObject &srcheader)