/* * Copyright (c) ICG. All rights reserved. * See copyright.txt for more information. * * Institute for Computer Graphics and Vision * Graz, University of Technology / Austria * * * 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. * * * Project : MIPItkProjects * Module : CommonItkUtilities * Class : $RCSfile: SmallUtilityMethods.cxx,v $ * Language : C++ * Description : * * Author : Martin Urschler * EMail : urschler@icg.tu-graz.ac.at * Date : $Date: 2005-09-20 15:22:42 $ * Version : $Revision: 1.8 $ * Full Id : $Id: SmallUtilityMethods.cxx,v 1.8 2005-09-20 15:22:42 urschler Exp $ * */ #include "commonItkTypedefs.h" #include "SmallUtilityMethods.h" #include "SmallUtilityMethods.txx" // specializations template< > FloatImageType::Pointer SmallUtilityMethods::curvFlowSmoothVolume( const FloatImageType::Pointer& image, unsigned int nr_iterations, double time_step ) { // setup the Image Smoother typedef itk::CurvatureFlowImageFilter< FloatImageType, FloatImageType > CurvatureFlowImageFilterType; CurvatureFlowImageFilterType::Pointer smoother = CurvatureFlowImageFilterType::New(); smoother->SetNumberOfIterations( nr_iterations ); smoother->SetTimeStep( time_step ); smoother->SetInput( image ); ITK_EXCEPTION_CHECKED( "Image smoothing using curvature flow filter.", smoother->Update(), 0 ); return smoother->GetOutput(); } template class SmallUtilityMethods< FloatImageType >; template class SmallUtilityMethods< Int16ImageType >; template class SmallUtilityMethods< UInt16ImageType >; template class SmallUtilityMethods< MaskImageType >;