diff --git a/Libs/vtkITK/itkTimeSeriesDatabase.txx b/Libs/vtkITK/itkTimeSeriesDatabase.txx
index 2631aa7f19c3b790482b36933cc9d97f2911342d..b1ad7cbf0c1f83e4a374cbf29c2d889a291f02e1 100644
--- a/Libs/vtkITK/itkTimeSeriesDatabase.txx
+++ b/Libs/vtkITK/itkTimeSeriesDatabase.txx
@@ -30,12 +30,12 @@ bool TimeSeriesDatabase<TPixel>::CalculateIntersection ( Size<3> BlockIndex,
   bool IsFullBlock = true;
   for ( unsigned int i = 0; i < 3; i++ )
   {
-    ImageRegion.SetIndex ( i, TSD_MAX ( (long unsigned int) RequestedRegion.GetIndex ( i ), TimeSeriesBlockSize * BlockIndex[i] ) );
+    ImageRegion.SetIndex ( i, TSD_MAX<itk::IndexValueType> ( RequestedRegion.GetIndex ( i ), TimeSeriesBlockSize * BlockIndex[i] ) );
     BlockRegion.SetIndex ( i, ImageRegion.GetIndex(i) % TimeSeriesBlockSize );
 
     // This is the end index
     long unsigned int Tmp = RequestedRegion.GetIndex ( i ) + RequestedRegion.GetSize ( i );
-    Tmp = TSD_MIN ( (long unsigned int) Tmp, TimeSeriesBlockSize * (BlockIndex[i]+1) );
+    Tmp = TSD_MIN<itk::IndexValueType> ( Tmp, TimeSeriesBlockSize * (BlockIndex[i]+1) );
     Tmp = Tmp - ImageRegion.GetIndex(i);
 
     ImageRegion.SetSize ( i, Tmp );
diff --git a/Libs/vtkITK/vtkITKArchetypeImageSeriesScalarReader.cxx b/Libs/vtkITK/vtkITKArchetypeImageSeriesScalarReader.cxx
index f6260d9d5e7c51178225b249394463668d739a3e..d2052c7dcd52a7df6bde3382a4ba810da0089bc7 100644
--- a/Libs/vtkITK/vtkITKArchetypeImageSeriesScalarReader.cxx
+++ b/Libs/vtkITK/vtkITKArchetypeImageSeriesScalarReader.cxx
@@ -124,7 +124,7 @@ int vtkITKArchetypeImageSeriesScalarReader::RequestData(
         filter = orient##typeN; \
         }\
       filter->UpdateLargestPossibleRegion(); \
-      itk::ImportImageContainer<unsigned long, type>::Pointer PixelContainer##typeN;\
+	  itk::ImportImageContainer<itk::SizeValueType, type>::Pointer PixelContainer##typeN;\
       PixelContainer##typeN = filter->GetOutput()->GetPixelContainer();\
       void *ptr = static_cast<void *> (PixelContainer##typeN->GetBufferPointer());\
       DownCast<type>(data->GetPointData()->GetScalars())                \
@@ -158,7 +158,7 @@ int vtkITKArchetypeImageSeriesScalarReader::RequestData(
         filter = orient2##typeN; \
         } \
        filter->UpdateLargestPossibleRegion();\
-      itk::ImportImageContainer<unsigned long, type>::Pointer PixelContainer2##typeN;\
+	  itk::ImportImageContainer<itk::SizeValueType, type>::Pointer PixelContainer2##typeN;\
       PixelContainer2##typeN = filter->GetOutput()->GetPixelContainer();\
       void *ptr = static_cast<void *> (PixelContainer2##typeN->GetBufferPointer());\
       DownCast<type>(data->GetPointData()->GetScalars())                \
diff --git a/Libs/vtkITK/vtkITKArchetypeImageSeriesVectorReaderFile.cxx b/Libs/vtkITK/vtkITKArchetypeImageSeriesVectorReaderFile.cxx
index 7b74707e923713906fd9c01228509718a39d8a4f..bf753796b3d95c0ba0acb6c5efef77027d4e245e 100644
--- a/Libs/vtkITK/vtkITKArchetypeImageSeriesVectorReaderFile.cxx
+++ b/Libs/vtkITK/vtkITKArchetypeImageSeriesVectorReaderFile.cxx
@@ -88,7 +88,7 @@ void vtkITKExecuteDataFromFileVector(
     filter = orient2;
     }
    filter->UpdateLargestPossibleRegion();
-  typename itk::ImportImageContainer<unsigned long, T>::Pointer PixelContainer2;
+  typename itk::ImportImageContainer<itk::SizeValueType, T>::Pointer PixelContainer2;
   PixelContainer2 = filter->GetOutput()->GetPixelContainer();
   void *ptr = static_cast<void *> (PixelContainer2->GetBufferPointer());
   DownCast<T>(data->GetPointData()->GetScalars())
diff --git a/Libs/vtkITK/vtkITKArchetypeImageSeriesVectorReaderSeries.cxx b/Libs/vtkITK/vtkITKArchetypeImageSeriesVectorReaderSeries.cxx
index 2481d577757d42d37386457c2d871f5e30886351..00fb928d96e1c12b31a88b500706d4eb40d07bf1 100644
--- a/Libs/vtkITK/vtkITKArchetypeImageSeriesVectorReaderSeries.cxx
+++ b/Libs/vtkITK/vtkITKArchetypeImageSeriesVectorReaderSeries.cxx
@@ -100,7 +100,7 @@ void vtkITKExecuteDataFromSeriesVector(
     filter = orient;
     }
   filter->UpdateLargestPossibleRegion();
-  typename itk::ImportImageContainer<unsigned long, VectorPixelType>::Pointer PixelContainer;
+  typename itk::ImportImageContainer<itk::SizeValueType, VectorPixelType>::Pointer PixelContainer;
   PixelContainer = filter->GetOutput()->GetPixelContainer();
   void *ptr = static_cast<void *> (PixelContainer->GetBufferPointer());
   DownCast<T>(data->GetPointData()->GetScalars())
diff --git a/Libs/vtkITK/vtkITKTimeSeriesDatabase.cxx b/Libs/vtkITK/vtkITKTimeSeriesDatabase.cxx
index afbcb2db276f2675deff138dead6bc7be02a3365..bf3edc986a64e9f73c8117871a9f6b08fbb7a1fc 100644
--- a/Libs/vtkITK/vtkITKTimeSeriesDatabase.cxx
+++ b/Libs/vtkITK/vtkITKTimeSeriesDatabase.cxx
@@ -63,7 +63,7 @@ void vtkITKTimeSeriesDatabase::ExecuteDataWithInformation(vtkDataObject *output,
   {
     this->AllocateOutputData(output, outInfo);
 #endif
-    itk::ImportImageContainer<unsigned long, OutputImagePixelType>::Pointer PixelContainerShort;
+	itk::ImportImageContainer<itk::SizeValueType, OutputImagePixelType>::Pointer PixelContainerShort;
     PixelContainerShort = this->m_Filter->GetOutput()->GetPixelContainer();
     void *ptr = static_cast<void *> (PixelContainerShort->GetBufferPointer());
     vtkUnsignedLongArray::SafeDownCast(