37template <
typename ITK_INDATATYPE,
unsigned int DIM>
40 typename itk::ImportImageFilter<ITK_INDATATYPE, DIM>::Pointer itkSpecialImporter;
46 catch( itk::ExceptionObject & e ){
51 return itkSpecialImporter;
75#define ImplementAndSetSpecialInputImage(ITK_SPECIAL_IN_IMAGE, IN_IDX, FUNC_CALL, PRE_PARAMS, POST_PARAMS, ML_PIX_TYPE, ITK_PIX_TYPE, DIMENSION) \
78 typename itk::ImportImageFilter<ITK_PIX_TYPE, DIMENSION>::Pointer \
79 ITK_SPECIAL_IN_IMAGE##Importer = \
80 getITKSpecialInImg<ITK_PIX_TYPE, DIMENSION>(inSubImgs[IN_IDX], *getInputImage(IN_IDX)); \
83 typedef typename itk::Image<ITK_PIX_TYPE, DIMENSION> ITK_SPECIAL_IN_IMAGE##Type; \
84 typename ITK_SPECIAL_IN_IMAGE##Type::Pointer ITK_SPECIAL_IN_IMAGE = \
85 ITK_SPECIAL_IN_IMAGE##Importer ? ITK_SPECIAL_IN_IMAGE##Importer->GetOutput() : nullptr; \
88 if (ITK_SPECIAL_IN_IMAGE){ \
89 FUNC_CALL( PRE_PARAMS ITK_SPECIAL_IN_IMAGE POST_PARAMS ); \
92 MLPrintAndNotify(ML_ERROR, "ML_","", \
93 "Could not create special itk input image","","Not setting special image", \
94 __FILE__, __LINE__, ML_BAD_PARAMETER); \
109#define ImplementAndSetSpecialInputBase(ITK_SPECIAL_IN_IMAGE, IN_IDX, FUNC_CALL, MEMBER_NAME, DIMENSION) \
112 FUNC_CALL(MEMBER_NAME.getWrappedInputObject(MEMBER_NAME.getTypeId())); \
itk::ImportImageFilter< ITK_INDATATYPE, DIM >::Pointer getITKSpecialInImg(const SubImage &inSubImg, const PagedImage &inImg)
itk::ImportImageFilter< ITK_INDATATYPE, DIM >::Pointer getITKImportImageFromSubImg(const SubImage &inSubImg, const MedicalImageProperties &props, bool correctSVS=true)
MLITK_SUPPORT_EXPORT void postITKException(const itk::ExceptionObject &e, const Module *module, MLMessageType messageType, const std::string &handling="")