/*============================================================================= NOTE: THIS FILE IS A HANDMADE WRAPPER FOR THE ManagedITK PROJECT. Project: ManagedITK Program: Insight Segmentation & Registration Toolkit Module: itkManagedImageFunction.cxx Language: C++/CLI Author: Dan Mueller Date: $Date: 2007-09-01 06:17:25 +1000 (Sat, 01 Sep 2007) $ Revision: $Revision: 2 $ Copyright (c) Queensland University of Technology (QUT) 2007. All rights reserved. Portions of this code are covered under the ITK and VTK copyright. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =============================================================================*/ #pragma once #pragma warning( disable : 4635 ) // Disable warnings about XML doc comments #ifndef __itkManagedImageFunction_cxx #define __itkManagedImageFunction_cxx // Use some managed namespaces #using #using using namespace System; using namespace System::IO; using namespace System::Reflection; using namespace System::Diagnostics; using namespace System::Collections::Generic; // Include some useful ManagedITK files #include "itkManagedIndex.cxx" #include "itkManagedContinuousIndex.cxx" #include "itkManagedPoint.cxx" #include "itkManagedOffset.cxx" #include "itkManagedPixelType.cxx" #include "itkManagedPixel.cxx" #include "itkManagedImage.cxx" namespace itk { /// ///This class is a managed replacement for itk::ImageFunction. /// /// ///ImageFunction is a baseclass for all objects that evaluates ///a function of an image at index, continuous index or point. /// public ref class itkImageFunction abstract : itkObject { public: ///Set the input image to the function object. ///The input image as an itkImage. virtual void SetInputImage(itkImageBase^ inputImage) = 0; ///Set the input image to the function object. ///The input image as an IntPtr. virtual void SetInputImage( System::IntPtr itkInputImagePtr ) = 0; /** Get the input image to the function object. */ // TODO: virtual itkImage^ GetInputImage( ) = 0; ///Evaluate the function at specified physical location. ///The geometric location in physical space. ///The pixel value at the given physical location. virtual itkPixel^ Evaluate( itkPoint^ point ) = 0; ///Evaluate the function at specified discrete location. ///The discrete location in image space. ///The pixel value at the given discrete location. virtual itkPixel^ EvaluateAtIndex( itkIndex^ index ) = 0; ///Evaluate the function at specified continuous location. ///The continuous location in image space. ///The pixel value at the given continuous location. virtual itkPixel^ EvaluateAtContinuousIndex( itkContinuousIndex^ cindex ) = 0; }; // end ref class } // end namespace itk #endif