]> Creatis software - bbtk.git/blobdiff - packages/itk/src/bbitkAnyImageToTypedImage.h
Now itk::ImageSeriesReader returns a 3D image when it's passed a 2D images
[bbtk.git] / packages / itk / src / bbitkAnyImageToTypedImage.h
index b780362f0226126b937070490395329753291281..4e68948691b6969f563419fbe25df12e45a3d619 100644 (file)
@@ -1,21 +1,53 @@
+/*=========================================================================                                                                               
+  Program:   bbtk
+  Module:    $RCSfile: bbitkAnyImageToTypedImage.h,v $
+  Language:  C++
+  Date:      $Date: 2008/10/17 08:18:21 $
+  Version:   $Revision: 1.8 $
+=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
+* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
+*
+*  This software is governed by the CeCILL-B license under French law and 
+*  abiding by the rules of distribution of free software. You can  use, 
+*  modify and/ or redistribute the software under the terms of the CeCILL-B 
+*  license as circulated by CEA, CNRS and INRIA at the following URL 
+*  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+*  or in the file LICENSE.txt.
+*
+*  As a counterpart to the access to the source code and  rights to copy,
+*  modify and redistribute granted by the license, users are provided only
+*  with a limited warranty  and the software's author,  the holder of the
+*  economic rights,  and the successive licensors  have only  limited
+*  liability. 
+*
+*  The fact that you are presently reading this means that you have had
+*  knowledge of the CeCILL-B license and that you accept its terms.
+* ------------------------------------------------------------------------ */                                                                         
+
+
 #ifdef _USE_ITK_
 
 #ifndef __bbitkAnyImageToTypedImage_h_INCLUDED__
 #define __bbitkAnyImageToTypedImage_h_INCLUDED__
 
-#include "bbtkUserBlackBox.h"
+#include "bbtkAtomicBlackBox.h"
 #include "bbitkImage.h"
 
 namespace bbitk
 {
 
   //=================================================================
-  // UserBlackBox declaration
+  // BlackBox declaration
   template <class itkImageTypePointer>
-  class AnyImageToTypedImage : public bbtk::UserBlackBox
+  class AnyImageToTypedImage : public bbtk::AtomicBlackBox
   {  
-    BBTK_USER_BLACK_BOX_INTERFACE(AnyImageToTypedImage,
-                                 bbtk::UserBlackBox);
+    BBTK_TEMPLATE_BLACK_BOX_INTERFACE(AnyImageToTypedImage,
+                                     bbtk::AtomicBlackBox,
+                                     itkImageTypePointer);
     BBTK_DECLARE_INPUT(In,anyImagePointer);
     BBTK_DECLARE_OUTPUT(Out,itkImageTypePointer);
     BBTK_PROCESS(DoIt);
@@ -24,19 +56,21 @@ namespace bbitk
   //=================================================================
   
   //=================================================================
-  // UserBlackBox description
-  BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(AnyImageToTypedImage);
-  BBTK_NAME(bbtk::HumanTypeName<anyImagePointer>() + "To"+bbtk::HumanTypeName<T>());
+  // BlackBox description
+  BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(AnyImageToTypedImage,
+                                     bbtk::AtomicBlackBox);
+  BBTK_NAME(bbtk::HumanTypeName<anyImagePointer>() + "To"
+           +bbtk::HumanTypeName<T>());
   BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
-  BBTK_DESCRIPTION("Transforms a generic itk image ("+
+  BBTK_DESCRIPTION("Converts a generic itk image pointer ("+
                   bbtk::HumanTypeName<anyImagePointer>()+
-                  ") into a typed itk image ("+
-                  bbtk::HumanTypeName<T>()+"*)");
+                  ") into a typed itk image pointer ("+
+                  bbtk::HumanTypeName<T>()+")");
   BBTK_DEFAULT_ADAPTOR();
   BBTK_TEMPLATE_INPUT(AnyImageToTypedImage,In,
-                     "Input generic image",anyImagePointer);
+                     "Input generic image pointer",anyImagePointer);
   BBTK_TEMPLATE_OUTPUT(AnyImageToTypedImage,Out,
-                       "Output typed image",T);
+                       "Output typed image pointer",T);
   BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(AnyImageToTypedImage);
   //=================================================================
   
@@ -58,12 +92,14 @@ namespace bbitk
   //=================================================================
 
   //=================================================================
-  // UserBlackBox declaration
+  // BlackBox declaration
   template <class itkImageTypePointer, class itkImageTypeConstPointer>
-  class AnyImageToConstTypedImage : public bbtk::UserBlackBox
+  class AnyImageToConstTypedImage : public bbtk::AtomicBlackBox
   {  
-    BBTK_USER_BLACK_BOX_INTERFACE(AnyImageToConstTypedImage,
-                                 bbtk::UserBlackBox);
+    BBTK_TEMPLATE2_BLACK_BOX_INTERFACE(AnyImageToConstTypedImage,
+                                      bbtk::AtomicBlackBox,
+                                      itkImageTypePointer,
+                                      itkImageTypeConstPointer);
     BBTK_DECLARE_INPUT(In,anyImagePointer);
     BBTK_DECLARE_OUTPUT(Out,itkImageTypeConstPointer);
     BBTK_PROCESS(DoIt);
@@ -72,20 +108,22 @@ namespace bbitk
   //=================================================================
   
   //=================================================================
-  // UserBlackBox description
-  BBTK_BEGIN_DESCRIBE_TEMPLATE2_BLACK_BOX(AnyImageToConstTypedImage);
-  BBTK_NAME("Convert<"+bbtk::TypeName<anyImagePointer>() + "," +
-           bbtk::TypeName<T2>()+">");
+  // BlackBox description
+  BBTK_BEGIN_DESCRIBE_TEMPLATE2_BLACK_BOX(AnyImageToConstTypedImage,
+                                      bbtk::AtomicBlackBox);
+  BBTK_NAME(bbtk::HumanTypeName<anyImagePointer>() + "To" +
+           bbtk::HumanTypeName<T2>());
   BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
-  BBTK_DESCRIPTION("Transforms a generic itk image ("+
-                  bbtk::TypeName<anyImagePointer>()+
-                  ") into a typed itk image ("+
-                  bbtk::TypeName<T2>()+"*)");
+  BBTK_DESCRIPTION("Converts a generic itk image pointer ("+
+                  bbtk::HumanTypeName<anyImagePointer>()+
+                  ") into a const typed itk image pointer ("+
+                  bbtk::HumanTypeName<T2>()+")");
+  BBTK_CATEGORY("adaptor");
   BBTK_DEFAULT_ADAPTOR();
   BBTK_TEMPLATE2_INPUT(AnyImageToConstTypedImage,In,
-                     "Input generic image",anyImagePointer);
+                     "Input generic image pointer",anyImagePointer);
   BBTK_TEMPLATE2_OUTPUT(AnyImageToConstTypedImage,Out,
-                       "Output typed image",T2);
+                       "Output const typed image pointer",T2);
   BBTK_END_DESCRIBE_TEMPLATE2_BLACK_BOX(AnyImageToConstTypedImage);
   //=================================================================