diff --git a/src/Python.md b/src/Python.md
index ab45fd8fdc948d989c39144523d11af2788fec32..0830555dcefcde09bd028e177df3fe018e78e959 100644
--- a/src/Python.md
+++ b/src/Python.md
@@ -89,6 +89,8 @@ If you are new to VTK then these [tutorials](#tutorial) will help to get you sta
 | -------------- | ------------- | ------- |
 [HDRReader](/Python/IO/HDRReader) | Read a high-dynamic-range imaging file.
 [ReadDICOM](/Python/IO/ReadDICOM) | Read DICOM file.
+[ReadDICOMSeries](/Python/IO/ReadDICOMSeries) | This example demonstrates how to read a series of DICOM images and scroll through slices
+
 
 
 #### Output
diff --git a/src/Python/IO/ReadDICOMSeries.md b/src/Python/IO/ReadDICOMSeries.md
new file mode 100644
index 0000000000000000000000000000000000000000..43e11e10c22ac8d9671d90e0c4f549948a31efcb
--- /dev/null
+++ b/src/Python/IO/ReadDICOMSeries.md
@@ -0,0 +1,7 @@
+### Description
+
+This example demonstates how to read a series of DICOM images and how to scroll with the mousewheel or the up/down keys through all slices.
+Sample data are available as a zipped file (977 kB, 40 slices): <a id="raw-url" href="https://raw.githubusercontent.com/Kitware/vtk-examples/gh-pages/src/SupplementaryData/Cxx/IO/DicomTestImages.zip">DicomTestImages</a>
+
+!!! seealso
+    [ReadDICOM](../ReadDICOM).
\ No newline at end of file
diff --git a/src/Python/IO/ReadDicomSeries.py b/src/Python/IO/ReadDicomSeries.py
index f0c03991f26ddb7af7cf0da0c08d600476865fff..d36fa8c2fd1ae87b43af537d66b3b38310867396 100644
--- a/src/Python/IO/ReadDicomSeries.py
+++ b/src/Python/IO/ReadDicomSeries.py
@@ -14,13 +14,15 @@ from vtk import vtkTextMapper
 from vtk import vtkTextProperty
 from vtk import vtkInteractorStyleTrackballCamera
 
+
+#Helper class to format slice status message
 class StatusMessage:
     @staticmethod
     def format(slice:int,max_slice:int):
         return f"Slice Number {(slice+1)/(max_slice+1)}"
     
 
-
+#Define own interaction style
 class MyVtkInteractorStyleImage(vtkInteractorStyleImage):
     def __init__(self,parent=None):
         super().__init__()
@@ -66,8 +68,7 @@ class MyVtkInteractorStyleImage(vtkInteractorStyleImage):
             self.move_slice_forward
         elif key=="Down":
             self.move_slice_backward
-        #forward event
-        #super(MyVtkInteractorStyleImage, self).OnKeyDown()
+
 
     def mouseWheelForwardEvent(self,obj,event):
         if self.slice<self.max_slice:
@@ -80,15 +81,27 @@ class MyVtkInteractorStyleImage(vtkInteractorStyleImage):
 
 
 #Read all the DICOM files in the specified directory.
-folder=r"src/Python/IO/matlab/examples/sample_data/DICOM/digest_article"
+#folder=r"src/Python/IO/matlab/examples/sample_data/DICOM/digest_article"
+#/Users/ajugeorge/Documents/Python Programs/vtk-examples/src/Python/IO/matlab/examples/sample_data/DICOM/digest_article
+
+def get_program_parameters():
+    import argparse
+    description = 'Read DICOM series data'
+    epilogue = ''''''
+    parser = argparse.ArgumentParser(description=description, epilog=epilogue,
+                                     formatter_class=argparse.RawDescriptionHelpFormatter)
+    parser.add_argument('dirname', help='DicomTestImages.zip')
+    args = parser.parse_args()
+    return args.dirname
+
+
 
-class DicomViewer():
-    def __init__(self):
-        self.main()
 
 def main():
     colors=vtkNamedColors()
     reader=vtkDICOMImageReader()
+    folder=get_program_parameters()
+    #Read DICOM files in the specified directory
     reader.SetDirectoryName(folder)
     reader.Update()
     #Visualilze
@@ -101,7 +114,7 @@ def main():
     slice_text_prop.SetFontSize(20)
     slice_text_prop.SetVerticalJustificationToBottom()
     slice_text_prop.SetJustificationToLeft()
-
+    #Slice status message
     slice_text_mapper=vtkTextMapper()
     msg=StatusMessage.format(image_viewer.GetSliceMin(),image_viewer.GetSliceMax())
     slice_text_mapper.SetInput(msg)
@@ -136,26 +149,26 @@ def main():
 
 
     #Create an interactor with our own style (inherit from
-    #vtkInteractorStyleImage) in order to catch mousewheel and key events.
+    #vtkInteractorStyleImage in order to catch mousewheel and key events.
 
     render_window_interactor= vtkRenderWindowInteractor()
     my_interactor_style=MyVtkInteractorStyleImage()
+  
+   #Make imageviewer2 and sliceTextMapper visible to our interactorstyle
+   #to enable slice status message updates when  scrolling through the slices.
 
     my_interactor_style.set_imageviewer(image_viewer)
     my_interactor_style.set_status_mapper(slice_text_mapper)
 
-
-    image_viewer.SetupInteractor(render_window_interactor)
-    render_window_interactor.SetInteractorStyle(my_interactor_style)
-    render_window_interactor.Render()
-
-    
     #Make the interactor use our own interactorstyle
     #cause SetupInteractor() is defining it's own default interatorstyle
     #this must be called after SetupInteractor().
+    #renderWindowInteractor.SetInteractorStyle(myInteractorStyle);
+    image_viewer.SetupInteractor(render_window_interactor)
+    render_window_interactor.SetInteractorStyle(my_interactor_style)
+    render_window_interactor.Render()
 
-
-
+    #Add slice status message and usage hint message to the renderer.
     image_viewer.GetRenderer().AddActor2D(slice_text_actor)
     image_viewer.GetRenderer().AddActor2D(usage_text_actor)
 
diff --git a/src/Testing/Baseline/Python/IO/TestReadDICOMSeries.png b/src/Testing/Baseline/Python/IO/TestReadDICOMSeries.png
new file mode 100644
index 0000000000000000000000000000000000000000..c10bf1d9d039aa494c43916cb13a27713d6b6cf9
--- /dev/null
+++ b/src/Testing/Baseline/Python/IO/TestReadDICOMSeries.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9abfef71e88a2dc08e8d4097bda52a16a1758aaf8b6edf6df7031270e0a129fc
+size 128807