X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkCalculateTREGenericFilter.h;fp=registration%2FclitkCalculateTREGenericFilter.h;h=d9caea1890917ecca206c91d78637bbc35cfe2a2;hb=657652a78c2e2717a6f77e027049173442ca29f0;hp=0000000000000000000000000000000000000000;hpb=8abe9edbdc63a33f8fbb1f321073b762e08be9aa;p=clitk.git diff --git a/registration/clitkCalculateTREGenericFilter.h b/registration/clitkCalculateTREGenericFilter.h new file mode 100755 index 0000000..d9caea1 --- /dev/null +++ b/registration/clitkCalculateTREGenericFilter.h @@ -0,0 +1,124 @@ +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. + + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +======================================================================-====*/ +#ifndef clitkCalculateTREGenericFilter_h +#define clitkCalculateTREGenericFilter_h + +/* ================================================= + * @file clitkCalculateTREGenericFilter.h + * @author + * @date + * + * @brief + * + ===================================================*/ + + +// clitk include +#include "clitkIO.h" +#include "clitkCommon.h" +#include "clitkCalculateTRE_ggo.h" +#include "clitkGenericVectorInterpolator.h" +#include "clitkPointListWriter.h" +#include "clitkPointListReader.h" +#include "clitkDeformationListStatisticsFilter.h" +#include "clitkList.h" + +//itk include +#include "itkLightObject.h" +#include "itkExtractImageFilter.h" + +//general +#include + +namespace clitk +{ + + + class ITK_EXPORT CalculateTREGenericFilter : public itk::LightObject + { + public: + //---------------------------------------- + // ITK + //---------------------------------------- + typedef CalculateTREGenericFilter Self; + typedef itk::LightObject Superclass; + typedef itk::SmartPointer Pointer; + typedef itk::SmartPointer ConstPointer; + + // Method for creation through the object factory + itkNewMacro(Self); + + // Run-time type information (and related methods) + itkTypeMacro( CalculateTREGenericFilter, LightObject ); + + + //---------------------------------------- + // Typedefs + //---------------------------------------- + + + //---------------------------------------- + // Set & Get + //---------------------------------------- + void SetArgsInfo(const args_info_clitkCalculateTRE& a) + { + m_ArgsInfo=a; + m_Verbose=m_ArgsInfo.verbose_flag; + m_InputFileName=m_ArgsInfo.vf_arg[0]; + } + + + //---------------------------------------- + // Update + //---------------------------------------- + void Update(); + + protected: + + //---------------------------------------- + // Constructor & Destructor + //---------------------------------------- + CalculateTREGenericFilter(); + ~CalculateTREGenericFilter() {}; + + + //---------------------------------------- + // Templated members + //---------------------------------------- + template void ReadVectorFields(void); + template void ProcessVectorFields(std::vector< typename itk::Image, Dimension>::Pointer > dvfs, char** filenames); + template void UpdateWithDim( std::vector, Dimension>::Pointer > dvfs, std::vector filenames); + + + //---------------------------------------- + // Data members + //---------------------------------------- + args_info_clitkCalculateTRE m_ArgsInfo; + bool m_Verbose; + std::string m_InputFileName; + + }; + + +} // end namespace clitk + +#ifndef ITK_MANUAL_INSTANTIATION +#include "clitkCalculateTREGenericFilter.txx" +#endif + +#endif // #define clitkCalculateTREGenericFilter_h