]> Creatis software - creaImageIO.git/blobdiff - src/README.txt
move directory
[creaImageIO.git] / src / README.txt
diff --git a/src/README.txt b/src/README.txt
new file mode 100644 (file)
index 0000000..fbe4fd9
--- /dev/null
@@ -0,0 +1,71 @@
+New architecture created on 04/02/09 following a MVC approach
+
+Elements of the architecture:
+
+* Data structure: Attributed tree
+--------------------------------------
+in namespace creaImageIO::tree
+Tree :   Attributed tree structure
+        inherits Node
+        holds a vector of root TreeNode 
+TreeData : Abstract class to store user data on a tree
+Node : 
+        belong to a Tree, 
+        holds a pointer on parent Node, 
+        holds a vector of children Node
+NodeData : Abstract class to store user data on a tree node
+Descriptor : Descriptor of the structure a tree (number of levels, descriptors of each level, ...)
+         
+        holds a vector of LevelDescriptor
+LevelDescriptor : 
+         holds a vector of TreeAttributeDescriptor
+AttributeDescriptor :
+        stores name, dicom group/elem, flags
+Comparator: Abstract definition of a comparator of Node
+           Comparison is done by operator()(Node* const &, Node* const &)
+ComparatorWithOrder : Abstract Comparator whose order can be reversed
+                   Concrete comparison is done by method compare(Node* const &, Node* const &)
+LexicographicalComparator :  A Comparator which stores a vector of Comparators and which performs lexicographical comparison               
+
+IntComparator    : Compares the values of a given Attribute of the Nodes which is decoded as an int    value
+FloatComparator  : Compares the values of a given Attribute of the Nodes which is decoded as a  float  value
+StringComparator : Compares the values of a given Attribute of the Nodes which is decoded as a  string value
+
+
+* Models : TreeHandler and descendants
+--------------------------------------
+
+TreeHandler : Abstract class which 'handles' a Tree structure.
+           Can:
+           Load the children of a given Node
+
+SQLiteTreeHandler : Concrete TreeHandler which manages a tree stored in a sqlite database
+CppSQLite3.h / CppSQLite3.cpp : C++ interface to sqlite db
+...
+
+ImageFinder : Parses (recursively) a part of a filesystem to look for known images and load their attributes in order to add the images to a Tree (submission via a TreeHandler::AddBranch)
+
+
+* Image handling
+----------------
+
+creaImageIOImageReader.h/cpp :
+SpecificImageReader
+ImageReader
+
+creaImageIOMultiThreadImageReader.h/cpp
+creaImageIOIndexedHeap.h/cpp
+
+* Views :
+---------
+TreeView
+WxTreeView
+WxGimmickView
+QTreeView 
+QGimmickView
+...
+
+* Controller :
+--------------
+Gimmick
+...