Description: No import of ITK namespace
  'using namespace itk' caused a number of ambiguous types. ITK authors
  discourage this approach. This package removes all ITK namespace important
  and applies necessary changes ti the code base to cope with that (i.e.
  adding explicit itk:: prefixes).
Forwarded:
Author: Michael Hanke <michael.hanke@gmail.com>
Last-Update: 2010-06-23
--- a/Logic/Common/ColorLabelTable.cxx
+++ b/Logic/Common/ColorLabelTable.cxx
@@ -6,7 +6,6 @@
 #include <string>
 
 using namespace std;
-using namespace itk;
 
 extern int fl_parse_color(
   const char* p, unsigned char& r, unsigned char& g, unsigned char& b);
@@ -75,7 +74,7 @@
 void
 ColorLabelTable
 ::LoadFromFile(const char *file)
-  throw(ExceptionObject)
+  throw(itk::ExceptionObject)
 {
   // Create a stream for reading the file
   ifstream fin(file);
@@ -179,7 +178,7 @@
 void
 ColorLabelTable
 ::SaveToFile(const char *file)
-  throw(ExceptionObject)
+  throw(itk::ExceptionObject)
 {
   // Open the file for writing
   ofstream fout(file);
--- a/Logic/Framework/GenericImageData.cxx
+++ b/Logic/Framework/GenericImageData.cxx
@@ -85,7 +85,6 @@
 #include <iostream>
 #include <iomanip>
 
-using namespace itk;
 
 void 
 GenericImageData
--- a/Logic/Framework/IRISApplication.cxx
+++ b/Logic/Framework/IRISApplication.cxx
@@ -69,7 +69,6 @@
 #include <sstream>
 #include <iomanip>
 
-using namespace itk;
 
 IRISApplication
 ::IRISApplication() 
@@ -168,7 +167,7 @@
   // of the current drawing color
   LabelType passThroughLabel = m_GlobalState->GetDrawingColorLabel();
 
-  typedef ImageRegionIterator<LabelImageType> IteratorType;  
+  typedef itk::ImageRegionIterator<LabelImageType> IteratorType;
   IteratorType itLabel(imgNewLabel,imgNewLabel->GetBufferedRegion());  
   while(!itLabel.IsAtEnd())
     {
@@ -449,8 +448,8 @@
     }  
   
   // Create iterators for copying from one to the other
-  typedef ImageRegionConstIterator<SourceImageType> SourceIteratorType;
-  typedef ImageRegionIterator<TargetImageType> TargetIteratorType;
+  typedef itk::ImageRegionConstIterator<SourceImageType> SourceIteratorType;
+  typedef itk::ImageRegionIterator<TargetImageType> TargetIteratorType;
   SourceIteratorType itSource(source,source->GetLargestPossibleRegion());
   TargetIteratorType itTarget(target,roi.GetROI());
 
@@ -749,7 +748,7 @@
 
 void 
 IRISApplication
-::ExportSegmentationStatistics(const char *file)  throw(ExceptionObject)
+::ExportSegmentationStatistics(const char *file)  throw(itk::ExceptionObject)
 {
   // Make sure that the segmentation image exists
   assert(m_CurrentImageData->IsSegmentationLoaded());
@@ -823,7 +822,7 @@
   size_t nvoxels = 0;
 
   // Update the segmentation
-  typedef ImageRegionIterator<
+  typedef itk::ImageRegionIterator<
     LabelImageWrapper::ImageType> IteratorType;
   for(IteratorType it(imgLabel, imgLabel->GetBufferedRegion());  
     !it.IsAtEnd(); ++it)
@@ -851,7 +850,7 @@
     m_CurrentImageData->GetSegmentation()->GetImage();
   
   // Get an iterator for the image
-  typedef ImageRegionIteratorWithIndex<
+  typedef itk::ImageRegionIteratorWithIndex<
     LabelImageWrapper::ImageType> IteratorType;
   IteratorType it(imgLabel, imgLabel->GetBufferedRegion());
 
@@ -1074,7 +1073,7 @@
     // Add the image as the current RGB overlay
     m_IRISImageData->SetRGBOverlay(imgRGB);
     }
-  else throw ExceptionObject("Unsupported overlay image type");
+  else throw itk::ExceptionObject("Unsupported overlay image type");
 
   // for overlay, we don't want to change the cursor location
   // just force the IRISSlicer to update
@@ -1135,7 +1134,7 @@
     // At this point, deallocate the native image, so that we don't use more memory
     io->DeallocateNativeImage();
     }
-  else throw ExceptionObject("Unsupported main image type");
+  else throw itk::ExceptionObject("Unsupported main image type");
 
   // Update the crosshairs position
   Vector3ui cursor = size;
@@ -1177,7 +1176,7 @@
     {
     m_GlobalState->SetRGBFileName(filename);  
     }
-  else throw ExceptionObject("Unsupported main image type");
+  else throw itk::ExceptionObject("Unsupported main image type");
 
   return type;
 }
--- a/Logic/Framework/SNAPImageData.cxx
+++ b/Logic/Framework/SNAPImageData.cxx
@@ -59,7 +59,6 @@
 
 #include "SNAPImageData.h"
 
-using namespace itk;
 
 SNAPImageData
 ::SNAPImageData(IRISApplication *parent)
@@ -116,7 +115,7 @@
 
   // Provide a progress callback (if one is provided)
   if(progressCallback)
-    filter->AddObserver(ProgressEvent(),progressCallback);
+    filter->AddObserver(itk::ProgressEvent(),progressCallback);
 
   // Run the filter on the whole image
   filter->UpdateLargestPossibleRegion();
@@ -148,7 +147,7 @@
 
   // Provide a progress callback (if one is provided)
   if(progressCallback)
-    filter->AddObserver(ProgressEvent(),progressCallback);
+    filter->AddObserver(itk::ProgressEvent(),progressCallback);
 
   // Run the filter
   filter->UpdateLargestPossibleRegion();
@@ -221,7 +220,7 @@
   m_SnakeColorLabel = labelColor;
 
   // Types of images used here
-  typedef OrientedImage<float,3> FloatImageType;
+  typedef itk::OrientedImage<float,3> FloatImageType;
 
   // Initialize the level set initialization wrapper, set pixels to OUTSIDE_VALUE
   m_SnakeInitializationWrapper.InitializeToWrapper(&m_GreyWrapper, OUTSIDE_VALUE);
@@ -236,8 +235,8 @@
   LabelImageType::RegionType region = imgInput->GetBufferedRegion();
 
   // Create iterators to perform the copy
-  typedef ImageRegionConstIterator<LabelImageType> SourceIterator;
-  typedef ImageRegionIteratorWithIndex<FloatImageType> TargetIterator;  
+  typedef itk::ImageRegionConstIterator<LabelImageType> SourceIterator;
+  typedef itk::ImageRegionIteratorWithIndex<FloatImageType> TargetIterator;
   SourceIterator itSource(imgInput,region);
   TargetIterator itTarget(imgLevelSet,region);
 
@@ -273,7 +272,7 @@
   for(unsigned int iBubble=0; iBubble < bubbles.size(); iBubble++)
     {
     // Compute the extents of the bubble
-    typedef Point<double,3> PointType;
+    typedef itk::Point<double,3> PointType;
     PointType ptLower,ptUpper,ptCenter;
 
     // Compute the physical position of the bubble center
--- a/Logic/ImageWrapper/GreyImageWrapper.cxx
+++ b/Logic/ImageWrapper/GreyImageWrapper.cxx
@@ -40,7 +40,6 @@
 #include "itkFunctionBase.h"
 #include "itkUnaryFunctorImageFilter.h"
 
-using namespace itk;
 
 // Create an instance of ImageWrapper of appropriate type
 template class ImageWrapper<GreyType>;
--- a/Logic/ImageWrapper/GuidedNativeImageIO.cxx
+++ b/Logic/ImageWrapper/GuidedNativeImageIO.cxx
@@ -64,7 +64,6 @@
 #include "itkNumericTraits.h"
 
 
-using namespace itk;
 using namespace std;
 
 bool GuidedNativeImageIO::m_StaticDataInitialized = false;
@@ -159,7 +158,7 @@
 ::CreateRawImageIO(Registry &folder)
 {
   // Create the Raw IO
-  typedef RawImageIO<TRaw,3> IOType;  
+  typedef itk::RawImageIO<TRaw,3> IOType;
   typename IOType::Pointer rawIO = IOType::New();
   
   // Set the header size
@@ -205,17 +204,17 @@
   // Choose the approach based on the file format
   switch(m_FileFormat)
     {
-    case FORMAT_MHA:        m_IOBase = MetaImageIO::New();          break;
-    case FORMAT_NRRD:       m_IOBase = NrrdImageIO::New();          break;
-    case FORMAT_ANALYZE:    m_IOBase = AnalyzeImageIO::New();       break;
-    case FORMAT_GIPL:       m_IOBase = GiplImageIO::New();          break;
-    case FORMAT_GE4:        m_IOBase = GE4ImageIO::New();           break;
-    case FORMAT_GE5:        m_IOBase = GE5ImageIO::New();           break;
-    case FORMAT_NIFTI:      m_IOBase = NiftiImageIO::New();         break;
-    case FORMAT_SIEMENS:    m_IOBase = SiemensVisionImageIO::New(); break;
-    case FORMAT_VTK:        m_IOBase = VTKImageIO::New();           break;
-    case FORMAT_VOXBO_CUB:  m_IOBase = VoxBoCUBImageIO::New();      break;
-    case FORMAT_DICOM:      m_IOBase = GDCMImageIO::New();          break;
+    case FORMAT_MHA:        m_IOBase = itk::MetaImageIO::New();          break;
+    case FORMAT_NRRD:       m_IOBase = itk::NrrdImageIO::New();          break;
+    case FORMAT_ANALYZE:    m_IOBase = itk::AnalyzeImageIO::New();       break;
+    case FORMAT_GIPL:       m_IOBase = itk::GiplImageIO::New();          break;
+    case FORMAT_GE4:        m_IOBase = itk::GE4ImageIO::New();           break;
+    case FORMAT_GE5:        m_IOBase = itk::GE5ImageIO::New();           break;
+    case FORMAT_NIFTI:      m_IOBase = itk::NiftiImageIO::New();         break;
+    case FORMAT_SIEMENS:    m_IOBase = itk::SiemensVisionImageIO::New(); break;
+    case FORMAT_VTK:        m_IOBase = itk::VTKImageIO::New();           break;
+    case FORMAT_VOXBO_CUB:  m_IOBase = itk::VoxBoCUBImageIO::New();      break;
+    case FORMAT_DICOM:      m_IOBase = itk::GDCMImageIO::New();          break;
     case FORMAT_RAW:
       {
       // Get the Raw header sub-folder
@@ -237,7 +236,7 @@
         case PIXELTYPE_FLOAT:  CreateRawImageIO<float>(fldRaw);          break;
         case PIXELTYPE_DOUBLE: CreateRawImageIO<double>(fldRaw);         break;
         default:
-          throw ExceptionObject("Unsupported Pixel Type when reading Raw File");
+          throw itk::ExceptionObject("Unsupported Pixel Type when reading Raw File");
         }
       }
       break;
@@ -267,7 +266,7 @@
   // Create the header corresponding to the current image type
   CreateImageIO(FileName, folder, true);
   if(!m_IOBase)
-    throw ExceptionObject("Unsupported image file type");
+    throw itk::ExceptionObject("Unsupported image file type");
 
   // Read the information about the image
   if(m_FileFormat == FORMAT_DICOM)
@@ -280,16 +279,16 @@
     if(m_DICOMFiles.size() == 0)
       {
       // Create a names generator. The input must be a directory 
-      typedef GDCMSeriesFileNames NamesGeneratorType;
+      typedef itk::GDCMSeriesFileNames NamesGeneratorType;
       NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New();
       nameGenerator->SetDirectory(FileName);
 
       // Get the list of series in the directory
-      const SerieUIDContainer &sids = nameGenerator->GetSeriesUIDs();
+      const itk::SerieUIDContainer &sids = nameGenerator->GetSeriesUIDs();
 
       // There must be at least of series
       if(sids.size() == 0)
-        throw ExceptionObject("No DICOM series found in the DICOM directory");
+        throw itk::ExceptionObject("No DICOM series found in the DICOM directory");
     
       // Read the first DICOM series in the directory
       m_DICOMFiles = nameGenerator->GetFileNames(sids.front().c_str());
@@ -297,7 +296,7 @@
 
     // Read the information from the first filename
     if(m_DICOMFiles.size() == 0)
-      throw ExceptionObject("No DICOM files found in the DICOM directory");
+      throw itk::ExceptionObject("No DICOM files found in the DICOM directory");
     m_IOBase->SetFileName(m_DICOMFiles[0]);
     m_IOBase->ReadImageInformation();
     }
@@ -310,18 +309,18 @@
   // Based on the component type, read image in native mode
   switch(m_IOBase->GetComponentType()) 
     {
-    case ImageIOBase::UCHAR:  DoReadNative<unsigned char>(FileName, folder);  break;
-    case ImageIOBase::CHAR:   DoReadNative<signed char>(FileName, folder);    break;
-    case ImageIOBase::USHORT: DoReadNative<unsigned short>(FileName, folder); break;
-    case ImageIOBase::SHORT:  DoReadNative<signed short>(FileName, folder);   break;
-    case ImageIOBase::UINT:   DoReadNative<unsigned int>(FileName, folder);   break;
-    case ImageIOBase::INT:    DoReadNative<signed int>(FileName, folder);     break;
-    case ImageIOBase::ULONG:  DoReadNative<unsigned long>(FileName, folder);  break;
-    case ImageIOBase::LONG:   DoReadNative<signed long>(FileName, folder);    break;
-    case ImageIOBase::FLOAT:  DoReadNative<float>(FileName, folder);          break;
-    case ImageIOBase::DOUBLE: DoReadNative<double>(FileName, folder);         break;
+    case itk::ImageIOBase::UCHAR:  DoReadNative<unsigned char>(FileName, folder);  break;
+    case itk::ImageIOBase::CHAR:   DoReadNative<signed char>(FileName, folder);    break;
+    case itk::ImageIOBase::USHORT: DoReadNative<unsigned short>(FileName, folder); break;
+    case itk::ImageIOBase::SHORT:  DoReadNative<signed short>(FileName, folder);   break;
+    case itk::ImageIOBase::UINT:   DoReadNative<unsigned int>(FileName, folder);   break;
+    case itk::ImageIOBase::INT:    DoReadNative<signed int>(FileName, folder);     break;
+    case itk::ImageIOBase::ULONG:  DoReadNative<unsigned long>(FileName, folder);  break;
+    case itk::ImageIOBase::LONG:   DoReadNative<signed long>(FileName, folder);    break;
+    case itk::ImageIOBase::FLOAT:  DoReadNative<float>(FileName, folder);          break;
+    case itk::ImageIOBase::DOUBLE: DoReadNative<double>(FileName, folder);         break;
     default: 
-      throw ExceptionObject("Unknown Pixel Type when reading image");
+      throw itk::ExceptionObject("Unknown Pixel Type when reading image");
     }
 
   // Get rid of the IOBase, it may store useless data (in case of NIFTI)
@@ -349,7 +348,7 @@
     typedef itk::OrientedImage<TScalar, 3> GreyImageType;
 
     // Create an image series reader 
-    typedef ImageSeriesReader<GreyImageType> ReaderType;
+    typedef itk::ImageSeriesReader<GreyImageType> ReaderType;
     typename ReaderType::Pointer reader = ReaderType::New();
 
     // Set the filenames and read
@@ -422,8 +421,8 @@
     image->Allocate();
 
     // Set the IO region
-    ImageIORegion ioRegion(3);
-    ImageIORegionAdaptor<3>::Convert(region, ioRegion, index);
+    itk::ImageIORegion ioRegion(3);
+    itk::ImageIORegionAdaptor<3>::Convert(region, ioRegion, index);
     m_IOBase->SetIORegion(ioRegion);
 
     // Read the image into the buffer
@@ -494,7 +493,7 @@
   CreateImageIO(FileName, folder, false);
 
   // Save the image
-  typedef ImageFileWriter< itk::Image<TPixel,3> > WriterType;
+  typedef itk::ImageFileWriter< itk::Image<TPixel,3> > WriterType;
   typename WriterType::Pointer writer = WriterType::New();
   
   writer->SetFileName(FileName);
@@ -528,21 +527,21 @@
   m_Output->SetRegions(native->GetBufferedRegion());
 
   // Cast image from native format to TPixel
-  ImageIOBase::IOComponentType itype = nativeIO->GetComponentTypeInNativeImage();
+  itk::ImageIOBase::IOComponentType itype = nativeIO->GetComponentTypeInNativeImage();
   switch(itype) 
     {
-    case ImageIOBase::UCHAR:  DoCast<unsigned char>(native);   break;
-    case ImageIOBase::CHAR:   DoCast<signed char>(native);     break;
-    case ImageIOBase::USHORT: DoCast<unsigned short>(native);  break;
-    case ImageIOBase::SHORT:  DoCast<signed short>(native);    break;
-    case ImageIOBase::UINT:   DoCast<unsigned int>(native);    break;
-    case ImageIOBase::INT:    DoCast<signed int>(native);      break;
-    case ImageIOBase::ULONG:  DoCast<unsigned long>(native);   break;
-    case ImageIOBase::LONG:   DoCast<signed long>(native);     break;
-    case ImageIOBase::FLOAT:  DoCast<float>(native);           break;
-    case ImageIOBase::DOUBLE: DoCast<double>(native);          break;
+    case itk::ImageIOBase::UCHAR:  DoCast<unsigned char>(native);   break;
+    case itk::ImageIOBase::CHAR:   DoCast<signed char>(native);     break;
+    case itk::ImageIOBase::USHORT: DoCast<unsigned short>(native);  break;
+    case itk::ImageIOBase::SHORT:  DoCast<signed short>(native);    break;
+    case itk::ImageIOBase::UINT:   DoCast<unsigned int>(native);    break;
+    case itk::ImageIOBase::INT:    DoCast<signed int>(native);      break;
+    case itk::ImageIOBase::ULONG:  DoCast<unsigned long>(native);   break;
+    case itk::ImageIOBase::LONG:   DoCast<signed long>(native);     break;
+    case itk::ImageIOBase::FLOAT:  DoCast<float>(native);           break;
+    case itk::ImageIOBase::DOUBLE: DoCast<double>(native);          break;
     default: 
-      throw ExceptionObject("Unknown Pixel Type when reading image");
+      throw itk::ExceptionObject("Unknown Pixel Type when reading image");
     }
 
   // Return the output image
@@ -556,7 +555,7 @@
 ::DoCast(itk::ImageBase<3> *native)
 {
   // Get the native image
-  typedef VectorImage<TNative, 3> InputImageType;
+  typedef itk::VectorImage<TNative, 3> InputImageType;
   typedef itk::ImageRegionConstIterator<InputImageType> InputIterator;
   typename InputImageType::Pointer input = 
     dynamic_cast<InputImageType *>(native);
@@ -580,10 +579,10 @@
   // We must compute the range of the input data
   size_t nvoxels = input->GetBufferedRegion().GetNumberOfPixels();
   size_t ncomp = input->GetNumberOfComponentsPerPixel();
-  double imin = NumericTraits<double>::max();
-  double imax = -NumericTraits<double>::max();
-  TPixel omax = NumericTraits<TPixel>::max();
-  TPixel omin = NumericTraits<TPixel>::min();
+  double imin = itk::NumericTraits<double>::max();
+  double imax = -itk::NumericTraits<double>::max();
+  TPixel omax = itk::NumericTraits<TPixel>::max();
+  TPixel omin = itk::NumericTraits<TPixel>::min();
 
   if(ncomp > 1)
     {
@@ -612,7 +611,7 @@
 
   // Now we have to be careful, depending on the type of the input voxel
   // For float and double, we map the input range into the output range
-  if(!NumericTraits<TNative>::is_integer || ncomp > 1)
+  if(!itk::NumericTraits<TNative>::is_integer || ncomp > 1)
     {
     // Test whether the input image is actually an integer image cast to 
     // floating point. In that case, there is no need for conversion
@@ -703,21 +702,21 @@
   itk::ImageBase<3> *native = nativeIO->GetNativeImage();
 
   // Cast image from native format to TPixel
-  ImageIOBase::IOComponentType itype = nativeIO->GetComponentTypeInNativeImage();
+  itk::ImageIOBase::IOComponentType itype = nativeIO->GetComponentTypeInNativeImage();
   switch(itype) 
     {
-    case ImageIOBase::UCHAR:  DoCast<unsigned char>(native);   break;
-    case ImageIOBase::CHAR:   DoCast<signed char>(native);     break;
-    case ImageIOBase::USHORT: DoCast<unsigned short>(native);  break;
-    case ImageIOBase::SHORT:  DoCast<signed short>(native);    break;
-    case ImageIOBase::UINT:   DoCast<unsigned int>(native);    break;
-    case ImageIOBase::INT:    DoCast<signed int>(native);      break;
-    case ImageIOBase::ULONG:  DoCast<unsigned long>(native);   break;
-    case ImageIOBase::LONG:   DoCast<signed long>(native);     break;
-    case ImageIOBase::FLOAT:  DoCast<float>(native);           break;
-    case ImageIOBase::DOUBLE: DoCast<double>(native);          break;
+    case itk::ImageIOBase::UCHAR:  DoCast<unsigned char>(native);   break;
+    case itk::ImageIOBase::CHAR:   DoCast<signed char>(native);     break;
+    case itk::ImageIOBase::USHORT: DoCast<unsigned short>(native);  break;
+    case itk::ImageIOBase::SHORT:  DoCast<signed short>(native);    break;
+    case itk::ImageIOBase::UINT:   DoCast<unsigned int>(native);    break;
+    case itk::ImageIOBase::INT:    DoCast<signed int>(native);      break;
+    case itk::ImageIOBase::ULONG:  DoCast<unsigned long>(native);   break;
+    case itk::ImageIOBase::LONG:   DoCast<signed long>(native);     break;
+    case itk::ImageIOBase::FLOAT:  DoCast<float>(native);           break;
+    case itk::ImageIOBase::DOUBLE: DoCast<double>(native);          break;
     default: 
-      throw ExceptionObject("Unknown Pixel Type when reading image");
+      throw itk::ExceptionObject("Unknown Pixel Type when reading image");
     }
 
   // Return the output image
@@ -731,7 +730,7 @@
 ::DoCast(itk::ImageBase<3> *native)
 {
   // Get the native image
-  typedef VectorImage<TNative, 3> InputImageType;
+  typedef itk::VectorImage<TNative, 3> InputImageType;
   typename InputImageType::Pointer input = 
     reinterpret_cast<InputImageType *>(native);
   assert(input);
@@ -793,21 +792,21 @@
   m_Output->Allocate();
 
   // Cast image from native format to TPixel
-  ImageIOBase::IOComponentType itype = nativeIO->GetComponentTypeInNativeImage();
+  itk::ImageIOBase::IOComponentType itype = nativeIO->GetComponentTypeInNativeImage();
   switch(itype) 
     {
-    case ImageIOBase::UCHAR:  DoCast<unsigned char>(native);   break;
-    case ImageIOBase::CHAR:   DoCast<signed char>(native);     break;
-    case ImageIOBase::USHORT: DoCast<unsigned short>(native);  break;
-    case ImageIOBase::SHORT:  DoCast<signed short>(native);    break;
-    case ImageIOBase::UINT:   DoCast<unsigned int>(native);    break;
-    case ImageIOBase::INT:    DoCast<signed int>(native);      break;
-    case ImageIOBase::ULONG:  DoCast<unsigned long>(native);   break;
-    case ImageIOBase::LONG:   DoCast<signed long>(native);     break;
-    case ImageIOBase::FLOAT:  DoCast<float>(native);           break;
-    case ImageIOBase::DOUBLE: DoCast<double>(native);          break;
+    case itk::ImageIOBase::UCHAR:  DoCast<unsigned char>(native);   break;
+    case itk::ImageIOBase::CHAR:   DoCast<signed char>(native);     break;
+    case itk::ImageIOBase::USHORT: DoCast<unsigned short>(native);  break;
+    case itk::ImageIOBase::SHORT:  DoCast<signed short>(native);    break;
+    case itk::ImageIOBase::UINT:   DoCast<unsigned int>(native);    break;
+    case itk::ImageIOBase::INT:    DoCast<signed int>(native);      break;
+    case itk::ImageIOBase::ULONG:  DoCast<unsigned long>(native);   break;
+    case itk::ImageIOBase::LONG:   DoCast<signed long>(native);     break;
+    case itk::ImageIOBase::FLOAT:  DoCast<float>(native);           break;
+    case itk::ImageIOBase::DOUBLE: DoCast<double>(native);          break;
     default: 
-      throw ExceptionObject("Unknown Pixel Type when reading image");
+      throw itk::ExceptionObject("Unknown Pixel Type when reading image");
     }
 
   // Return the output image
@@ -821,14 +820,14 @@
 ::DoCast(itk::ImageBase<3> *native)
 {
   // Get the native image
-  typedef VectorImage<TNative, 3> InputImageType;
+  typedef itk::VectorImage<TNative, 3> InputImageType;
   typename InputImageType::Pointer input = 
     reinterpret_cast<InputImageType *>(native);
   assert(input);
 
   // If the native image does not have one component, we crash
   if(input->GetNumberOfComponentsPerPixel() != 1)
-    throw ExceptionObject(
+    throw itk::ExceptionObject(
       "Specified image can not be read as a scalar image.\n"
       "It does not have 1 component per pixel.");
 
--- a/Logic/ImageWrapper/LevelSetImageWrapper.cxx
+++ b/Logic/ImageWrapper/LevelSetImageWrapper.cxx
@@ -41,7 +41,6 @@
 template class ImageWrapper<float>;
 template class ScalarImageWrapper<float>;
 
-using namespace itk;
 
 LevelSetImageWrapper::DisplayPixelType
 LevelSetImageWrapper::MappingFunctor
--- a/Logic/ImageWrapper/RGBImageWrapper.cxx
+++ b/Logic/ImageWrapper/RGBImageWrapper.cxx
@@ -40,7 +40,6 @@
 template class ImageWrapper<RGBType>;
 template class VectorImageWrapper<RGBType>;
 
-using namespace itk;
 
 RGBImageWrapper
 ::RGBImageWrapper()
--- a/Logic/ImageWrapper/SpeedImageWrapper.cxx
+++ b/Logic/ImageWrapper/SpeedImageWrapper.cxx
@@ -36,7 +36,6 @@
 #include "ImageWrapper.txx"
 #include "ScalarImageWrapper.txx"
 
-using namespace itk;
 
 SpeedImageWrapper
 ::SpeedImageWrapper()
--- a/Logic/LevelSet/SNAPLevelSetDriver.cxx
+++ b/Logic/LevelSet/SNAPLevelSetDriver.cxx
@@ -27,7 +27,6 @@
 #pragma warning ( disable : 4503 )
 #endif
 
-using namespace itk;
 
 template<unsigned int VDimension>
 SNAPLevelSetDriver<VDimension>
--- a/Logic/LevelSet/SNAPLevelSetDriver.txx
+++ b/Logic/LevelSet/SNAPLevelSetDriver.txx
@@ -61,7 +61,6 @@
 #pragma warning ( disable : 4503 )
 #endif
 
-using namespace itk;
 
 // Create an inverting functor
 class InvertFunctor {
@@ -146,10 +145,10 @@
     {
     // Define an extension to the appropriate filter class
 #if defined(USE_ITK36_ITK38_SPARSEFIELD_BUGFIX)
-    typedef ParallelSparseFieldLevelSetImageFilterBugFix<
+    typedef itk::ParallelSparseFieldLevelSetImageFilterBugFix<
       FloatImageType, FloatImageType> LevelSetFilterType;
 #else
-    typedef SparseFieldLevelSetImageFilter<
+    typedef itk::SparseFieldLevelSetImageFilter<
       FloatImageType, FloatImageType> LevelSetFilterType;
 #endif
 
@@ -190,7 +189,7 @@
   else if(m_Parameters.GetSolver() == SnakeParameters::DENSE_SOLVER)
     {
     // Define an extension to the appropriate filter class
-    typedef DenseFiniteDifferenceImageFilter<
+    typedef itk::DenseFiniteDifferenceImageFilter<
       FloatImageType,FloatImageType> LevelSetFilterType;
     typedef LevelSetExtensionFilter<LevelSetFilterType> ExtensionFilter;
     typename ExtensionFilter::Pointer filter = ExtensionFilter::New();
--- a/Logic/LevelSet/SignedDistanceFilter.txx
+++ b/Logic/LevelSet/SignedDistanceFilter.txx
@@ -32,7 +32,6 @@
   PURPOSE.  See the above copyright notices for more information. 
 
 =========================================================================*/
-using namespace itk;
 
 template<typename TInputImage,typename TOutputImage>
 SignedDistanceFilter<TInputImage,TOutputImage>
@@ -103,7 +102,7 @@
 template<typename TInputImage,typename TOutputImage>
 void
 SignedDistanceFilter<TInputImage,TOutputImage>
-::PrintSelf(std::ostream& os, Indent indent) const
+::PrintSelf(std::ostream& os, itk::Indent indent) const
 {
   Superclass::PrintSelf(os,indent);
 }
--- a/Logic/Mesh/AllPurposeProgressAccumulator.h
+++ b/Logic/Mesh/AllPurposeProgressAccumulator.h
@@ -30,7 +30,6 @@
   #define vtkAlgorithmClass vtkAlgorithm
 #endif
 
-using namespace itk;
 
 /**
  * \class AllPurposeProgressAccumulator
@@ -47,16 +46,16 @@
  * execution, you have to advance multiple runs for one source manually using
  * the method StartNextRun.
  */
-class AllPurposeProgressAccumulator : public ProcessObject
+class AllPurposeProgressAccumulator : public itk::ProcessObject
 {
 public:
   /** Standard class typedefs. */
   typedef AllPurposeProgressAccumulator   Self;
-  typedef Object                          Superclass;
-  typedef SmartPointer<Self>              Pointer;
-  typedef SmartPointer<const Self>        ConstPointer;
+  typedef itk::Object                          Superclass;
+  typedef itk::SmartPointer<Self>              Pointer;
+  typedef itk::SmartPointer<const Self>        ConstPointer;
 
-  typedef EventObject                     EventType;
+  typedef itk::EventObject                     EventType;
 
   /** Standard New method. */
   itkNewMacro(Self);
--- a/Logic/Mesh/IRISMeshPipeline.cxx
+++ b/Logic/Mesh/IRISMeshPipeline.cxx
@@ -50,7 +50,6 @@
 #include "itkImageRegionConstIteratorWithIndex.h"
 
 using namespace std;
-using namespace itk;
 
 IRISMeshPipeline
 ::IRISMeshPipeline()
@@ -119,7 +118,7 @@
     }
 
   // Create an iterator for parsing the image
-  typedef ImageRegionConstIteratorWithIndex<InputImageType> InputIterator;
+  typedef itk::ImageRegionConstIteratorWithIndex<InputImageType> InputIterator;
   InputIterator it(m_InputImage,m_InputImage->GetLargestPossibleRegion());
 
   // Parse through the image using an iterator and compute the bounding boxes
--- a/Logic/Mesh/MeshObject.cxx
+++ b/Logic/Mesh/MeshObject.cxx
@@ -78,7 +78,6 @@
 // System includes
 #include <cstdlib>
 
-using namespace itk;
 using namespace std;
 
 MeshObject
--- a/Logic/Mesh/VTKMeshPipeline.cxx
+++ b/Logic/Mesh/VTKMeshPipeline.cxx
@@ -38,7 +38,6 @@
 #include <map>
 
 using namespace std;
-using namespace itk;
 
 
 VTKMeshPipeline
--- a/Logic/Preprocessing/EdgePreprocessingImageFilter.txx
+++ b/Logic/Preprocessing/EdgePreprocessingImageFilter.txx
@@ -32,7 +32,6 @@
   PURPOSE.  See the above copyright notices for more information. 
 
 =========================================================================*/
-using namespace itk;
 
 template<typename TInputImage,typename TOutputImage>
 EdgePreprocessingImageFilter<TInputImage,TOutputImage>
@@ -125,7 +124,7 @@
 template<typename TInputImage,typename TOutputImage>
 void
 EdgePreprocessingImageFilter<TInputImage,TOutputImage>
-::PrintSelf(std::ostream& os, Indent indent) const
+::PrintSelf(std::ostream& os, itk::Indent indent) const
 {
   Superclass::PrintSelf(os,indent);
 }
--- a/Logic/Preprocessing/SmoothBinaryThresholdImageFilter.txx
+++ b/Logic/Preprocessing/SmoothBinaryThresholdImageFilter.txx
@@ -32,7 +32,6 @@
   PURPOSE.  See the above copyright notices for more information. 
 
 =========================================================================*/
-using namespace itk;
 
 template<typename TInputImage,typename TOutputImage>
 SmoothBinaryThresholdImageFilter<TInputImage,TOutputImage>
@@ -92,7 +91,7 @@
 template<typename TInputImage,typename TOutputImage>
 void
 SmoothBinaryThresholdImageFilter<TInputImage,TOutputImage>
-::PrintSelf(std::ostream& os, Indent indent) const
+::PrintSelf(std::ostream& os, itk::Indent indent) const
 {
   Superclass::PrintSelf(os,indent);
 }
--- a/Testing/SNAPTestDriver.cxx
+++ b/Testing/SNAPTestDriver.cxx
@@ -23,7 +23,6 @@
 #include <iostream>
 #include <iomanip>
 
-using namespace itk;
 using namespace std;
 
 const unsigned int SNAPTestDriver::NUMBER_OF_TESTS = 5;
--- a/UserInterface/BasicComponents/MetaDataTable.cxx
+++ b/UserInterface/BasicComponents/MetaDataTable.cxx
@@ -39,7 +39,6 @@
 #include "itkMetaDataObject.h"
 #include "itkGDCMImageIO.h"
 using namespace std;
-using namespace itk;
 
 string
 get_rai_code(itk::SpatialOrientation::ValidCoordinateOrientationFlags code)
--- a/UserInterface/BasicComponents/SnakeParametersPreviewBox.cxx
+++ b/UserInterface/BasicComponents/SnakeParametersPreviewBox.cxx
@@ -41,8 +41,6 @@
 
 extern void fl_alert(const char *, ...);
 
-using namespace itk;                              
-                              
 SnakeParametersPreviewBox
 ::SnakeParametersPreviewBox(int x, int y, int w, int h, const char *label)
 : FLTKCanvas(x,y,w,h,label), m_Interactor(this)
--- a/UserInterface/BasicComponents/SnakeParametersPreviewPipeline.cxx
+++ b/UserInterface/BasicComponents/SnakeParametersPreviewPipeline.cxx
@@ -61,7 +61,6 @@
 #endif
 
 using namespace std;
-using namespace itk;
 
 extern void fl_alert(const char *, ...);
 
@@ -404,7 +403,7 @@
     m_SpeedImage = image;
 
     // Create a filter to compute a gradient image
-    typedef GradientImageFilter<FloatImageType> GradientFilter;
+    typedef itk::GradientImageFilter<FloatImageType> GradientFilter;
     GradientFilter::Pointer filter = GradientFilter::New();
 
     // Set up and run the filter
@@ -567,9 +566,9 @@
 ::UpdateForces()
 {
   // Image interpolator types
-  typedef LinearInterpolateImageFunction<
+  typedef itk::LinearInterpolateImageFunction<
     FloatImageType,double> LerpType;
-  typedef VectorLinearInterpolateImageFunction<
+  typedef itk::VectorLinearInterpolateImageFunction<
     VectorImageType,double> VectorLerpType;
   
   // Create the speed image interpolator
--- a/UserInterface/ImageIOWizard/ImageIOWizardLogic.cxx
+++ b/UserInterface/ImageIOWizard/ImageIOWizardLogic.cxx
@@ -52,7 +52,6 @@
 #include <itksys/SystemTools.hxx>
 
 using std::map;
-using namespace itk;
 
 
 ImageIOWizardLogic
@@ -60,7 +59,7 @@
 {                 
 
   // Initialize the DICOM directory lister
-  m_DICOMLister = GDCMSeriesFileNames::New();
+  m_DICOMLister = itk::GDCMSeriesFileNames::New();
   
   // Initialize the text buffers
   // m_SummaryTextBuffer = new Fl_Text_Buffer();
@@ -618,7 +617,7 @@
     // Check if the image is really valid
     rc = CheckImageValidity();
     }
-  catch(ExceptionObject &exc)
+  catch(itk::ExceptionObject &exc)
   {
     // Show the error
     fl_alert("Error reading image: %s.",exc.GetDescription());
@@ -757,7 +756,7 @@
     m_OutSummaryOrientation->value(sout.str().c_str());
     
     // TODO: This is a workaround on an itk bug with RawImageIO
-    if(m_GuidedIO.GetComponentTypeInNativeImage() != ImageIOBase::UNKNOWNCOMPONENTTYPE)
+    if(m_GuidedIO.GetComponentTypeInNativeImage() != itk::ImageIOBase::UNKNOWNCOMPONENTTYPE)
       {
       // There actually is a type in the IO object
       m_OutSummaryPixelType->value(
@@ -1136,7 +1135,7 @@
     // Hide the dialog
     m_WinOutput->hide();
     }
-  catch(ExceptionObject &exc)
+  catch(itk::ExceptionObject &exc)
     { fl_alert("Error saving file: %s",exc.GetDescription()); }
   
   // Restore the cursor
--- a/UserInterface/MainComponents/PreprocessingUILogic.cxx
+++ b/UserInterface/MainComponents/PreprocessingUILogic.cxx
@@ -30,7 +30,6 @@
 #include "itkOrientedImage.h"
 #include "itkEventObject.h" 
 
-using namespace itk;
 
 void 
 PreprocessingUILogic
@@ -728,7 +727,7 @@
 ::OnEdgeProgress(itk::Object *object, const itk::EventObject &irisNotUsed(event))
 {
   // Get the value of the progress
-  float progress = reinterpret_cast<ProcessObject *>(object)->GetProgress();
+  float progress = reinterpret_cast<itk::ProcessObject *>(object)->GetProgress();
   
   // Display the filter's progress
   m_OutEdgeProgress->value(progress);
@@ -742,7 +741,7 @@
 ::OnThresholdProgress(itk::Object *object, const itk::EventObject &irisNotUsed(event))
 {
   // Get the value of the progress
-  float progress = reinterpret_cast<ProcessObject *>(object)->GetProgress();
+  float progress = reinterpret_cast<itk::ProcessObject *>(object)->GetProgress();
   
   // Display the filter's progress
   m_OutThresholdProgress->value(progress);
--- a/UserInterface/MainComponents/SnakeParametersUILogic.cxx
+++ b/UserInterface/MainComponents/SnakeParametersUILogic.cxx
@@ -58,7 +58,6 @@
 #include "ThresholdSettings.h"
 #include "UserInterfaceBase.h"
 
-using namespace itk;
 
 void 
 SnakeParametersUILogic
--- a/UserInterface/MainComponents/UserInterfaceLogic.cxx
+++ b/UserInterface/MainComponents/UserInterfaceLogic.cxx
@@ -99,7 +99,6 @@
 #pragma warning ( disable : 4503 )
 #endif
 
-using namespace itk;
 using namespace std;
 
 #define COLORBAR_LABEL FL_FREE_LABELTYPE
@@ -1610,10 +1609,10 @@
 
 void 
 UserInterfaceLogic
-::OnITKProgressEvent(itk::Object *source, const EventObject &)
+::OnITKProgressEvent(itk::Object *source, const itk::EventObject &)
 {
   // Get the elapsed progress
-  itk::ProcessObject *po = reinterpret_cast<ProcessObject *>(source);
+  itk::ProcessObject *po = reinterpret_cast<itk::ProcessObject *>(source);
   float progress = po->GetProgress();
 
   // Update the progress bar and value
@@ -1726,7 +1725,7 @@
   if(selection == 1)
     {
     try { NonInteractiveLoadMainImage(fn_open, false, false); }
-    catch(ExceptionObject &exc)
+    catch(itk::ExceptionObject &exc)
       {
       fl_alert("Error opening main image: %s", exc.what());
       this->RedrawWindows();
@@ -1737,7 +1736,7 @@
     {
     try 
       { NonInteractiveLoadSegmentation(fn_open); }
-    catch(ExceptionObject &exc)
+    catch(itk::ExceptionObject &exc)
       {
       fl_alert("Error opening segmentation image: %s", exc.what());
       this->RedrawWindows();
@@ -1748,7 +1747,7 @@
     {
     try 
       { NonInteractiveLoadOverlayImage(fn_open, false, false); }
-    catch(ExceptionObject &exc)
+    catch(itk::ExceptionObject &exc)
       {
       fl_alert("Error opening overlay image: %s", exc.what());
       this->RedrawWindows();
--- a/UserInterface/SliceWindow/GenericSliceWindow.cxx
+++ b/UserInterface/SliceWindow/GenericSliceWindow.cxx
@@ -53,7 +53,6 @@
 
 #include "itkConstantPadImageFilter.h"
 
-using namespace itk;
 using namespace std;
 
 GenericSliceWindow
--- a/UserInterface/SliceWindow/IRISSliceWindow.cxx
+++ b/UserInterface/SliceWindow/IRISSliceWindow.cxx
@@ -54,7 +54,6 @@
 #include "itkOrientedImage.h"
 #include "itkImageRegionIteratorWithIndex.h"
 
-using namespace itk;
 using namespace std;
 
 IRISSliceWindow
@@ -104,7 +103,7 @@
   m_PolygonDrawing->Reset();
 
   // Initialize the polygon drawing canvas
-  Size<2> imgSize;
+  itk::Size<2> imgSize;
   imgSize[0] = m_SliceSize(0);
   imgSize[1] = m_SliceSize(1);
   m_PolygonSlice = PolygonSliceType::New();
@@ -197,7 +196,7 @@
     slice->Update();
 
     // Create an iterator to iterate over the slice
-    typedef ImageRegionIteratorWithIndex<PolygonSliceType> PolygonIterator;
+    typedef itk::ImageRegionIteratorWithIndex<PolygonSliceType> PolygonIterator;
     PolygonIterator itPolygon(m_PolygonSlice,
                               m_PolygonSlice->GetLargestPossibleRegion());
 
@@ -214,7 +213,7 @@
       if((pxPolygon != 0) ^  m_GlobalState->GetPolygonInvert())
         {
         // Get the corresponding segmentation image pixel
-        Index<2> idx = itPolygon.GetIndex();
+        itk::Index<2> idx = itPolygon.GetIndex();
         LabelType pxLabel = slice->GetPixel(idx);
 
         // Check if we should be overriding that pixel
