00001 #ifndef __Blank_DefOrgViewerAdapter_h 00002 #define __Blank_DefOrgViewerAdapter_h 00003 00004 #include "itkImageFileReader.h" 00005 #include "itkImageFileWriter.h" 00006 //#include "itkMeanImageFilter.h" 00007 //#include "itkBinaryThresholdImageFilter.h" 00008 //#include "itkCovariantVector.h" 00009 00010 #include <iostream> 00011 //#include "itkOrganism.h" 00012 //#include "Phys_Euler.h" 00013 //#include "Ctrl_ScheduleDriven.h" 00014 //#include "Beh_TranslateAll.h" 00015 //#include "Def_Translation.h" 00016 //#include "Sense_Gradient.h" 00017 //#include "Geom_MeshSpatialObject.h" 00018 //#include "Phys_LevelSet.h" 00019 00020 #include "DefOrgViewerAdapterBaseTemplated.h" 00021 00022 #include <vtksys/SystemTools.hxx> 00023 #include <vtksys/CommandLineArguments.hxx> 00024 00025 namespace mial{ 00026 #define N_DIMS 3 00027 typedef unsigned char PixelType; 00028 typedef float DataType; 00029 00031 class Blank_DefOrgViewerAdapter:public DefOrgViewerAdapterBaseTemplated<PixelType,DataType>{ 00032 public: 00033 // typedefs for the defOrg: 00034 00035 /*typedef Geom_MeshSpatialObject< DataType, N_DIMS > GeometricType; 00036 typedef itk::CovariantVector< DataType, N_DIMS > GradientPixelType; 00037 typedef itk::Image< GradientPixelType, N_DIMS > GradientImageType; 00038 typedef Phys_LevelSet< DataType, ImageType, N_DIMS > LevelSetPhysicsType; 00039 typedef Phys_Euler< DataType, 00040 GradientImageType, N_DIMS > EulerPhysicsType; 00041 typedef Sense_Gradient< DataType, ImageType, 00042 GradientImageType, N_DIMS > GradientSensorType; 00043 typedef Ctrl_ScheduleDriven<DataType, N_DIMS> CognitiveType; 00044 typedef Beh_TranslateAll<DataType, N_DIMS> Beh_TranslateAllType; 00045 typedef Def_Translation<DataType, N_DIMS> Def_TranslateAllType; 00046 00047 typedef itk::ItkOrganism < ImageType, ImageType, 00048 GradientImageType, DataType, N_DIMS > OrganismType; 00049 00050 typedef itk::DefaultDynamicMeshTraits< 00051 DataType, N_DIMS, N_DIMS > MeshTrait; 00052 typedef itk::Mesh< DataType, N_DIMS, MeshTrait > MeshType; 00053 typedef MeshType::Pointer MeshTypePointer;*/ 00054 00057 Blank_DefOrgViewerAdapter(); 00058 00061 virtual void SetupOrganism(); 00064 virtual void UpdateOrganism(); 00066 virtual void PopulateVtkImage(); 00069 virtual void PopulateVtkUnstructuredGrid(vtkUnstructuredGrid* vtkGrid /*in/out*/); 00071 virtual void PopulateItkScene(); 00072 00077 virtual void HandleUserMouseInteraction(vtkTransform* userTransformation); 00078 00084 virtual int MaxNumberOfOutputItkSpatialObjects(); 00090 virtual int MaxNumberOfOutputImages(); 00091 00092 private: 00093 /*OrganismType::Pointer testOrg; 00094 LevelSetPhysicsType levelSetPhysLayer; 00095 EulerPhysicsType* eulerPhysLayerPointer; 00096 GradientSensorType::sensorIn sensorInput; 00097 GradientSensorType gradientSensor; 00098 GeometricType* geomLayerPointer; 00099 CognitiveType* cognitiveLayerPointer; 00100 Beh_TranslateAllType* beh1; 00101 Def_TranslateAllType* def1; */ 00102 00103 }; 00104 } 00105 00106 #endif