]> Creatis software - bbtk.git/blob - packages/itk/src/bbitkImageWriter.h
=== MAJOR RELEASE ====
[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/04/18 12:59:50 $
7   Version:   $Revision: 1.5 $
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 "bbtkAtomicBlackBox.h"
32 #include "bbitkImage.h"
33
34 namespace bbitk
35 {
36
37   //=================================================================
38   // BlackBox declaration
39   class ImageWriter : public bbtk::AtomicBlackBox  
40   {
41     
42     BBTK_BLACK_BOX_INTERFACE(ImageWriter,
43                                   bbtk::AtomicBlackBox);
44
45     BBTK_DECLARE_INPUT(Filename,std::string);
46     BBTK_DECLARE_INPUT(In,anyImagePointer);
47     BBTK_PROCESS(Write);
48     void Write();
49
50   private:
51     // Template write method 
52     template<class ImageType> void Write();
53   };
54   
55
56   //=================================================================
57   // BlackBox description
58   BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageWriter,bbtk::AtomicBlackBox);
59   BBTK_NAME("ImageWriter");
60   BBTK_AUTHOR("laurent.guigues at creatis.insa-lyon.fr");
61   BBTK_DESCRIPTION("Generic itk image writer");
62   BBTK_CATEGORY("image;read/write");
63   BBTK_INPUT(ImageWriter,Filename,
64              "filename with complete path",std::string,"file name");
65   BBTK_INPUT(ImageWriter,In,"Image to write",anyImagePointer,"");
66   BBTK_END_DESCRIBE_BLACK_BOX(ImageWriter);
67   //=================================================================
68   
69
70 }
71 //namespace bbitk
72 #endif
73
74 #endif  // _USE_ITK_