diff --git a/Imaging/Core/vtkImageDifference.cxx b/Imaging/Core/vtkImageDifference.cxx
index 4b1c01968c6d63c6c002e9f97f079e593bac6be9..4a754abc0ac28cfde21d8008d857e1a7e693a09f 100644
--- a/Imaging/Core/vtkImageDifference.cxx
+++ b/Imaging/Core/vtkImageDifference.cxx
@@ -196,7 +196,7 @@ int vtkImageDifference::RequestUpdateExtent(
     uExt[idx*2] -= 2;
     uExt[idx*2+1] += 2;
 
-    // we must clip extent with whole extent is we hanlde boundaries.
+    // we must clip extent with whole extent is we handle boundaries.
     if (uExt[idx*2] < wholeExtent[idx*2])
     {
       uExt[idx*2] = wholeExtent[idx*2];
@@ -220,7 +220,7 @@ int vtkImageDifference::RequestUpdateExtent(
     uExt[idx*2] -= 2;
     uExt[idx*2+1] += 2;
 
-    // we must clip extent with whole extent is we hanlde boundaries.
+    // we must clip extent with whole extent is we handle boundaries.
     if (uExt[idx*2] < wholeExtent[idx*2])
     {
       uExt[idx*2] = wholeExtent[idx*2];
diff --git a/Imaging/Core/vtkImageSincInterpolator.cxx b/Imaging/Core/vtkImageSincInterpolator.cxx
index 0d223ed191172199d45933d7ef7b0cac396145d7..7bff9ae15f0d0ab17b94c6f552b7ba65a65f6072 100644
--- a/Imaging/Core/vtkImageSincInterpolator.cxx
+++ b/Imaging/Core/vtkImageSincInterpolator.cxx
@@ -641,7 +641,7 @@ void vtkSincInterpWeights(T *kernel, F *fX, F fx, int m)
 // will always sum to unity.  This renormalization is needed to ensure that
 // the interpolation will not have a DC offset.  For the rationale, see e.g.
 //  NA Thacker, A Jackson, D Moriarty, E Vokurka, "Improved quality of
-//  re-sliced MR images usng re-normalized sinc interpolation," Journal of
+//  re-sliced MR images using re-normalized sinc interpolation," Journal of
 //  Magnetic Resonance Imaging 10:582-588, 1999.
 // Parameters:
 //  kernel = table containing half of a symmetric kernel
diff --git a/Imaging/Fourier/vtkImageFFT.cxx b/Imaging/Fourier/vtkImageFFT.cxx
index c5c40f35dd68d6b956817714be7ad297c9162111..2d06fc7fb89b351f24d662111f16e17e6c136b0a 100644
--- a/Imaging/Fourier/vtkImageFFT.cxx
+++ b/Imaging/Fourier/vtkImageFFT.cxx
@@ -86,7 +86,7 @@ void vtkImageFFTExecute(vtkImageFFT *self,
   startProgress =
     self->GetIteration()/static_cast<double>(self->GetNumberOfIterations());
 
-  // Reorder axes (The outs here are just placeholdes
+  // Reorder axes (The outs here are just placeholders)
   self->PermuteExtent(inExt, inMin0, inMax0, outMin1,outMax1,outMin2,outMax2);
   self->PermuteExtent(outExt, outMin0,outMax0,outMin1,outMax1,outMin2,outMax2);
   self->PermuteIncrements(inData->GetIncrements(), inInc0, inInc1, inInc2);
diff --git a/Imaging/Fourier/vtkImageRFFT.cxx b/Imaging/Fourier/vtkImageRFFT.cxx
index bce94522ca937370bbbaf2f31d03b0cd63c4abaf..485a026286fb589bc5f320e4fde7c280b3e53740 100644
--- a/Imaging/Fourier/vtkImageRFFT.cxx
+++ b/Imaging/Fourier/vtkImageRFFT.cxx
@@ -87,7 +87,7 @@ void vtkImageRFFTExecute(vtkImageRFFT *self,
   startProgress = self->GetIteration()/
     static_cast<double>(self->GetNumberOfIterations());
 
-  // Reorder axes (The outs here are just placeholdes
+  // Reorder axes (The outs here are just placeholders)
   self->PermuteExtent(inExt, inMin0, inMax0, outMin1,outMax1,outMin2,outMax2);
   self->PermuteExtent(outExt, outMin0,outMax0,outMin1,outMax1,outMin2,outMax2);
   self->PermuteIncrements(inData->GetIncrements(), inInc0, inInc1, inInc2);
diff --git a/Imaging/General/vtkImageConvolve.cxx b/Imaging/General/vtkImageConvolve.cxx
index 8bf832360440f76500b1b41665e636b594deeca7..34e12545b7ae0044e8c703a2b2a8e5c70dd479cd 100644
--- a/Imaging/General/vtkImageConvolve.cxx
+++ b/Imaging/General/vtkImageConvolve.cxx
@@ -438,7 +438,7 @@ void vtkImageConvolveExecute(vtkImageConvolve *self,
 //----------------------------------------------------------------------------
 // This method contains the first switch statement that calls the correct
 // templated function for the input and output Data types.
-// It hanldes image boundaries, so the image does not shrink.
+// It handles image boundaries, so the image does not shrink.
 void vtkImageConvolve::ThreadedRequestData(
   vtkInformation *vtkNotUsed(request),
   vtkInformationVector **inputVector,
diff --git a/Imaging/General/vtkImageEuclideanDistance.cxx b/Imaging/General/vtkImageEuclideanDistance.cxx
index fd07ed49f80ddf7ebd6cc28620745fb24130e267..00155c5cd01a1071a7a33ad9bf107d95bca101ce 100644
--- a/Imaging/General/vtkImageEuclideanDistance.cxx
+++ b/Imaging/General/vtkImageEuclideanDistance.cxx
@@ -196,7 +196,7 @@ static void vtkImageEuclideanDistanceExecuteSaito(vtkImageEuclideanDistance *sel
   double m;
   double spacing;
 
-  // Reorder axes (The outs here are just placeholdes
+  // Reorder axes (The outs here are just placeholders)
   self->PermuteExtent(outExt, outMin0,outMax0,outMin1,outMax1,outMin2,outMax2);
   self->PermuteIncrements(outData->GetIncrements(), outInc0, outInc1, outInc2);
 
@@ -382,7 +382,7 @@ static void vtkImageEuclideanDistanceExecuteSaitoCached(
 
   double spacing;
 
-  // Reorder axes (The outs here are just placeholdes
+  // Reorder axes (The outs here are just placeholders)
   self->PermuteExtent(outExt, outMin0,outMax0,outMin1,outMax1,outMin2,outMax2);
   self->PermuteIncrements(outData->GetIncrements(), outInc0, outInc1, outInc2);
 
diff --git a/Imaging/General/vtkImageGradientMagnitude.cxx b/Imaging/General/vtkImageGradientMagnitude.cxx
index eed45adcee9aed96e92d9eebe77cc87787ce28f8..554199d39e8649f323e082ceece2db460bf95536 100644
--- a/Imaging/General/vtkImageGradientMagnitude.cxx
+++ b/Imaging/General/vtkImageGradientMagnitude.cxx
@@ -109,7 +109,7 @@ int vtkImageGradientMagnitude::RequestUpdateExtent (
     inUExt[idx*2+1] += 1;
     if (this->HandleBoundaries)
     {
-      // we must clip extent with whole extent is we hanlde boundaries.
+      // we must clip extent with whole extent is we handle boundaries.
       if (inUExt[idx*2] < wholeExtent[idx*2])
       {
         inUExt[idx*2] = wholeExtent[idx*2];
diff --git a/Imaging/General/vtkImageHybridMedian2D.cxx b/Imaging/General/vtkImageHybridMedian2D.cxx
index b2bb5578ffece417b8a4831a1eda98dfb0644e6e..00f90e546384f52a320d202a700f22b08c5e3370 100644
--- a/Imaging/General/vtkImageHybridMedian2D.cxx
+++ b/Imaging/General/vtkImageHybridMedian2D.cxx
@@ -247,7 +247,7 @@ void vtkImageHybridMedian2DExecute(vtkImageHybridMedian2D *self,
 
 // This method contains the first switch statement that calls the correct
 // templated function for the input and output Data types.
-// It hanldes image boundaries, so the image does not shrink.
+// It handles image boundaries, so the image does not shrink.
 void vtkImageHybridMedian2D::ThreadedRequestData(
   vtkInformation *vtkNotUsed(request),
   vtkInformationVector **inputVector,
diff --git a/Imaging/General/vtkImageRange3D.cxx b/Imaging/General/vtkImageRange3D.cxx
index 60117e02fe5392eee7e5cbc44d135bb1e5cf6e4e..fa232a377619d8ab3a91eb5574330e5b8d9850ef 100644
--- a/Imaging/General/vtkImageRange3D.cxx
+++ b/Imaging/General/vtkImageRange3D.cxx
@@ -283,7 +283,7 @@ void vtkImageRange3DExecute(vtkImageRange3D *self,
 //----------------------------------------------------------------------------
 // This method contains the first switch statement that calls the correct
 // templated function for the input and output Data types.
-// It hanldes image boundaries, so the image does not shrink.
+// It handles image boundaries, so the image does not shrink.
 void vtkImageRange3D::ThreadedRequestData(
   vtkInformation *vtkNotUsed(request),
   vtkInformationVector **inputVector,
diff --git a/Imaging/General/vtkImageSeparableConvolution.h b/Imaging/General/vtkImageSeparableConvolution.h
index 02b2b0f7eb390b33983f6b154545ab06edc0de09..5c884332862730bc437df428da7528a33c327310 100644
--- a/Imaging/General/vtkImageSeparableConvolution.h
+++ b/Imaging/General/vtkImageSeparableConvolution.h
@@ -22,7 +22,7 @@
  * centered at (int)((kernelsize - 1) / 2.0 ).  If a kernel is nullptr,
  * that dimension is skipped.  This filter is designed to efficiently
  * convolve separable filters that can be decomposed into 1 or more 1D
- * convolutions.  It also handles arbitrarly large kernel sizes, and
+ * convolutions.  It also handles arbitrarily large kernel sizes, and
  * uses edge replication to handle boundaries.
 */
 
diff --git a/Imaging/General/vtkImageVariance3D.cxx b/Imaging/General/vtkImageVariance3D.cxx
index 3c7f5e5b40ba391b9cb7872a13ca03692941c9a8..9b068c365cbee7b5e09aebe0f421b3bb21dafb28 100644
--- a/Imaging/General/vtkImageVariance3D.cxx
+++ b/Imaging/General/vtkImageVariance3D.cxx
@@ -281,7 +281,7 @@ void vtkImageVariance3DExecute(vtkImageVariance3D *self,
 //----------------------------------------------------------------------------
 // This method contains the first switch statement that calls the correct
 // templated function for the input and output Data types.
-// It hanldes image boundaries, so the image does not shrink.
+// It handles image boundaries, so the image does not shrink.
 void vtkImageVariance3D::ThreadedRequestData(
   vtkInformation *vtkNotUsed(request),
   vtkInformationVector **inputVector,
diff --git a/Imaging/Morphological/vtkImageContinuousErode3D.cxx b/Imaging/Morphological/vtkImageContinuousErode3D.cxx
index 2017a21e1da9d182606d511e91f638deca728f69..46f8dcc892736428411044ebc1a14acd795eb2f9 100644
--- a/Imaging/Morphological/vtkImageContinuousErode3D.cxx
+++ b/Imaging/Morphological/vtkImageContinuousErode3D.cxx
@@ -272,7 +272,7 @@ void vtkImageContinuousErode3DExecute(vtkImageContinuousErode3D *self,
 //----------------------------------------------------------------------------
 // This method contains the first switch statement that calls the correct
 // templated function for the input and output Data types.
-// It hanldes image boundaries, so the image does not shrink.
+// It handles image boundaries, so the image does not shrink.
 void vtkImageContinuousErode3D::ThreadedRequestData(
   vtkInformation *vtkNotUsed(request),
   vtkInformationVector **inputVector,
diff --git a/Imaging/Morphological/vtkImageDilateErode3D.cxx b/Imaging/Morphological/vtkImageDilateErode3D.cxx
index dfde4a4225315d333455f8cc23bdf90538fd3bb5..b4fbf6d204b16f60ac2e44913bb73d2605b03ca0 100644
--- a/Imaging/Morphological/vtkImageDilateErode3D.cxx
+++ b/Imaging/Morphological/vtkImageDilateErode3D.cxx
@@ -272,7 +272,7 @@ void vtkImageDilateErode3DExecute(vtkImageDilateErode3D *self,
 //----------------------------------------------------------------------------
 // This method contains the first switch statement that calls the correct
 // templated function for the input and output Data types.
-// It hanldes image boundaries, so the image does not shrink.
+// It handles image boundaries, so the image does not shrink.
 void vtkImageDilateErode3D::ThreadedRequestData(
   vtkInformation *vtkNotUsed(request),
   vtkInformationVector **inputVector,
diff --git a/Imaging/Morphological/vtkImageIslandRemoval2D.cxx b/Imaging/Morphological/vtkImageIslandRemoval2D.cxx
index 342d745d7548a08c97ac302556e4b4440db71e73..eeb5479f8d457e0dd00b88c06cbea09ec5a43319 100644
--- a/Imaging/Morphological/vtkImageIslandRemoval2D.cxx
+++ b/Imaging/Morphological/vtkImageIslandRemoval2D.cxx
@@ -59,8 +59,8 @@ void vtkImageIslandRemoval2D::PrintSelf(ostream& os, vtkIndent indent)
 
 //----------------------------------------------------------------------------
 // The templated execute function handles all the data types.
-// Codes:  0 => unvisited. 1 => visted don't know.
-//         2 => visted keep.  3 => visited replace.
+// Codes:  0 => unvisited. 1 => visited don't know.
+//         2 => visited keep.  3 => visited replace.
 // Please excuse the length of this function.  The easiest way to choose
 // neighborhoods is to check neighbors one by one directly.  Also, I did
 // not want to break the templated function into pieces.
@@ -391,7 +391,7 @@ void vtkImageIslandRemoval2DExecute(vtkImageIslandRemoval2D *self,
                 ++nextPixel;
                 ++nextPixelIdx;
 
-                // Have we visted enogh pixels to determine this is a keeper?
+                // Have we visited enough pixels to determine this is a keeper?
                 if (keepValue == 1 && numPixels >= area)
                 {
                   keepValue = 2;
diff --git a/Imaging/Morphological/vtkImageNonMaximumSuppression.cxx b/Imaging/Morphological/vtkImageNonMaximumSuppression.cxx
index 141ba8b4d7a7cbde734395d5d7fc91bba639ab05..3f898371f50f47c8852fea409b3c099fca4ec1d3 100644
--- a/Imaging/Morphological/vtkImageNonMaximumSuppression.cxx
+++ b/Imaging/Morphological/vtkImageNonMaximumSuppression.cxx
@@ -95,7 +95,7 @@ int vtkImageNonMaximumSuppression::RequestUpdateExtent (
     inExt[idx*2+1] += 1;
     if (this->HandleBoundaries)
     {
-      // we must clip extent with whole extent if we hanlde boundaries.
+      // we must clip extent with whole extent if we handle boundaries.
       if (inExt[idx*2] < wholeExtent[idx*2])
       {
         inExt[idx*2] = wholeExtent[idx*2];
diff --git a/Imaging/Morphological/vtkImageSkeleton2D.cxx b/Imaging/Morphological/vtkImageSkeleton2D.cxx
index 712a4d23f5724579f6e2904ca123c08156a0cb37..fb242af054119dd9c470e4720b24c67a9bb95528 100644
--- a/Imaging/Morphological/vtkImageSkeleton2D.cxx
+++ b/Imaging/Morphological/vtkImageSkeleton2D.cxx
@@ -244,7 +244,7 @@ void vtkImageSkeleton2DExecute(vtkImageSkeleton2D *self,
                       if ((n[0] == 0 || n[4] == 0 || n[2] > 1 || n[6] > 1) &&
                           (n[2] == 0 || n[6] == 0 || n[0] > 1 || n[4] > 1))
                       {
-                        // check to stop pruning (sort of a hack huristic)
+                        // check to stop pruning (sort of a hack heuristic)
                         if (prune > 1 || (countFaces > 2) ||
                             ((countFaces == 2) && (countCorners > 1)))
                         {