]> Creatis software - bbtk.git/blob - packages/itk/src/bbitkImageWriter.h
fde6da4e7021c59d379652713895390960fb51d4
[bbtk.git] / packages / itk / src / bbitkImageWriter.h
1 /*=========================================================================
2                                                                                 
3   Program:   bbtk
4   Module:    $RCSfile: bbitkImageWriter.h,v $
5   Language:  C++
6   Date:      $Date: 2008/02/05 12:11:51 $
7   Version:   $Revision: 1.2 $
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 ITKImageWriter : generic ITKImage reader
21  */
22 /**
23  * \class bbtk::ITKImageWriter
24  * \brief Generic ITKImage reader
25  */
26 #ifdef _USE_ITK_
27
28 #ifndef __bbtkITKImageWriter_h__
29 #define __bbtkITKImageWriter_h__
30
31 #include "bbtkUserBlackBox.h"
32 #include "bbitkImage.h"
33
34 namespace bbitk
35 {
36
37   class ImageWriter : public bbtk::UserBlackBox  
38   {
39     
40     BBTK_USER_BLACK_BOX_INTERFACE(ImageWriter,
41                                   bbtk::UserBlackBox);
42
43     BBTK_DECLARE_INPUT(Filename,std::string);
44     BBTK_DECLARE_INPUT(In,anyImagePointer);
45     BBTK_PROCESS(Write);
46     void Write();
47
48   private:
49     // Template write method 
50     template<class ImageType> void Write();
51   };
52   
53
54   //=================================================================
55   // UserBlackBox description
56   BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageWriter,bbtk::UserBlackBox);
57   BBTK_NAME("ImageWriter");
58   BBTK_AUTHOR("laurent.guigues at creatis.insa-lyon.fr");
59   BBTK_DESCRIPTION("Generic itk image writer");
60   BBTK_CATEGORY("image;read/write");
61   BBTK_INPUT(ImageWriter,Filename,
62              "filename with complete path",std::string);
63   BBTK_INPUT(ImageWriter,In,"Image to write",anyImagePointer);
64   BBTK_END_DESCRIBE_BLACK_BOX(ImageWriter);
65   //=================================================================
66   
67
68 }
69 //namespace bbitk
70 #endif
71
72 #endif  // _USE_ITK_