+#if ITK_VERSION_MAJOR >= 4
+ std::list< itk::ObjectFactoryBase * > fl = itk::GDCMImageIOFactory::GetRegisteredFactories();
+ for (std::list< itk::ObjectFactoryBase * >::iterator it = fl.begin(); it != fl.end(); ++it)
+ if (dynamic_cast<itk::GDCMImageIOFactory *>(*it))
+ {
+ itk::GDCMImageIOFactory::UnRegisterFactory(*it);
+ break;
+ }
+
+ std::list< itk::ObjectFactoryBase * > flpng = itk::PNGImageIOFactory::GetRegisteredFactories();
+ for (std::list< itk::ObjectFactoryBase * >::iterator it = flpng.begin(); it != flpng.end(); ++it)
+ if (dynamic_cast<itk::PNGImageIOFactory *>(*it))
+ {
+ itk::PNGImageIOFactory::UnRegisterFactory(*it);
+ break;
+ }
+#endif