]> Creatis software - clitk.git/blob - segmentation/clitkAnatomicalFeatureDatabase.h
manage anatomical features DB
[clitk.git] / segmentation / clitkAnatomicalFeatureDatabase.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to: 
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17   ======================================================================-====*/
18
19 #ifndef CLITKANATOMICALFEATUREDATABASE_H
20 #define CLITKANATOMICALFEATUREDATABASE_H
21
22 // clitk
23 #include "clitkCommon.h"
24
25 namespace clitk {
26   
27   //--------------------------------------------------------------------
28   /*
29     Class to store and retreive anatomical feature such as 3D
30     named landmarks points. 
31   */
32   class AnatomicalFeatureDatabase: public itk::Object
33   {
34   public:
35     AnatomicalFeatureDatabase();
36
37     // Set/Get filename 
38     itkSetMacro(Filename, std::string);
39     itkGetConstMacro(Filename, std::string);
40
41     // Read and write DB
42     void Write();
43     void Load();
44     
45     // Get landmarks
46     typedef itk::Point<double,3> PointType3D;
47     void SetPoint3D(std::string tag, PointType3D & p);
48     void GetPoint3D(std::string tag, PointType3D & p);
49     
50   protected:
51     std::string m_Filename;
52     typedef std::map<std::string, std::string> MapTagType;
53     MapTagType m_MapOfTag;
54
55   }; // end class
56   //--------------------------------------------------------------------
57
58 } // end namespace clitk
59 //--------------------------------------------------------------------
60
61 #endif // CLITKANATOMICALFEATUREDATABASE_H