]> Creatis software - bbtk.git/blob - packages/itk/src/bbitkImageSeriesReader.h
5798b7a73398144b8555ea74dffdb493bc32f8e4
[bbtk.git] / packages / itk / src / bbitkImageSeriesReader.h
1 /*=========================================================================
2                                                                                 
3   Program:   bbtk
4   Module:    $RCSfile: bbitkImageSeriesReader.h,v $
5   Language:  C++
6   Date:      $Date: 2008/04/08 06:59:30 $
7   Version:   $Revision: 1.4 $
8                                                                                 
9   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10   l'Image). All rights reserved. See Doc/License.txt or
11   http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
12                                                                                 
13      This software is distributed WITHOUT ANY WARRANTY; without even
14      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15      PURPOSE.  See the above copyright notices for more information.
16                                                                                 
17 =========================================================================*//**
18 /**
19  * \file 
20  * \brief class ITKImageSeriesReader : generic ITKImage reader
21  */
22 /**
23  * \class bbtk::ITKImageSeriesReader
24  * \brief Generic ITKImage reader
25  */
26 #ifdef _USE_ITK_
27
28 #ifndef __bbitkImageSeriesReader_h_INCLUDED__
29 #define __bbitkImageSeriesReader_h_INCLUDED__
30
31 #include "bbtkAtomicBlackBox.h"
32 #include "bbitkImage.h"
33
34 namespace bbitk
35 {
36
37   //=================================================================
38   // BlackBox declaration
39   class ImageSeriesReader : public bbtk::AtomicBlackBox  
40   {
41     
42     BBTK_USER_BLACK_BOX_INTERFACE(ImageSeriesReader,
43                                   bbtk::AtomicBlackBox);
44
45     BBTK_DECLARE_INPUT(FileNames,std::vector<std::string>);
46     BBTK_DECLARE_OUTPUT(Out,anyImagePointer);
47     BBTK_PROCESS(Read);
48     void Read();
49
50   private:
51     // Template read method 
52     template<class T> void Read();
53   };
54   //=================================================================
55   
56
57   //=================================================================
58   // BlackBox description
59   BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageSeriesReader,bbtk::AtomicBlackBox);
60   BBTK_NAME("ImageSeriesReader");
61   BBTK_AUTHOR("laurent.guigues at creatis.insa-lyon.fr");
62   BBTK_DESCRIPTION("Generic itk image series reader");
63   BBTK_CATEGORY("image;read/write");
64   typedef std::vector<std::string> vectorofstring;
65   BBTK_INPUT(ImageSeriesReader,FileNames,
66              "vector of file names with complete paths",vectorofstring,"file names list");
67   BBTK_OUTPUT(ImageSeriesReader,Out,"Output itk::image<T,D> with type T and dimension D determined by the content of the files",anyImagePointer,"");
68   BBTK_END_DESCRIBE_BLACK_BOX(ImageSeriesReader);
69   //=================================================================
70   
71
72 }
73 //namespace bbtk
74 #endif
75
76 #endif