From 7e661bb575ad3bc141cb426745efd55d53297e10 Mon Sep 17 00:00:00 2001
From: Eric Lacosse <eric.lacosse@tuebingen.mpg.de>
Date: Tue, 2 Aug 2016 11:15:44 +0200
Subject: [PATCH] Moved time frame to start from 0th index instead of 1.

---
 vviewer/Image4D.py |  3 ++-
 vviewer/vviewer.py | 24 ++++++++++++------------
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/vviewer/Image4D.py b/vviewer/Image4D.py
index 2bbcd24..aba596a 100644
--- a/vviewer/Image4D.py
+++ b/vviewer/Image4D.py
@@ -75,7 +75,7 @@ class Image4D(Image):
         self.image = img
 
         self.image_res = img.get_data()[:,:,:,self.frame]
-        self.time_dim = img.get_data().shape[3]
+        self.time_dim = img.get_data().shape[3]-1 # set beginning from zero.
 
         self.extremum[0] = img.get_data().min()
         self.extremum[1] = img.get_data().max()
@@ -107,6 +107,7 @@ class Image4D(Image):
         return self.image_res.shape[0:3]
 
     def getTimeDim(self):
+        """ Return index of time beginning from zero. """
         return self.time_dim
 
     def getFrame(self):
diff --git a/vviewer/vviewer.py b/vviewer/vviewer.py
index 5377242..5764044 100755
--- a/vviewer/vviewer.py
+++ b/vviewer/vviewer.py
@@ -91,15 +91,15 @@ class vviewer(QtGui.QMainWindow):
         # the resampled image data.
         self.img_coord = [0, 0, 0]
         # 'frame' contains the index of the current frame.
-        #  By convention the first frame number is 1.
-        self.frame = 1
+        #  By convention the first frame number is 0.
+        self.frame = 0
         # 'img_dims' is the dimensions of the resampled image data.
         # This is e.g. necessary to decide whether the crosshair or cursor is
         # within the image.
         self.img_dims = [0, 0, 0]
         # 'time_dim' is the number of frames of the time series data.
-        # For images this is 1.
-        self.time_dim = 1
+        # For images this is 0.
+        self.time_dim = 0
         # 'cursor_coord' is a list for the current cursor position.
         self.cursor_coord = [0, 0, 0]
         # 'affine' contains a numpy array for keeping track of what
@@ -471,7 +471,7 @@ class vviewer(QtGui.QMainWindow):
         self.l.addWidget(self.forward_button, 8, self.listoffset+8, 1, 1)
 
         # Lineedit for frame number
-        self.frame_box = QtGui.QLineEdit('1')
+        self.frame_box = QtGui.QLineEdit('0')
         self.frame_box.setAlignment(
             QtCore.Qt.AlignVCenter | QtCore.Qt.AlignRight)
         self.frame_box.returnPressed.connect(self.setFrameFromBox)
@@ -512,9 +512,9 @@ class vviewer(QtGui.QMainWindow):
 
         # frame slider
         self.frame_sld = JumpSlider(QtCore.Qt.Horizontal)
-        self.frame_sld.setMinimum(1)
-        self.frame_sld.setMaximum(1)
-        self.frame_sld.setValue(1)
+        self.frame_sld.setMinimum(0)
+        self.frame_sld.setMaximum(0)
+        self.frame_sld.setValue(0)
         self.frame_sld.sliderPressed.connect(self.setSliceStateOn)
         self.frame_sld.sliderReleased.connect(self.setSliceStateOff)
         self.frame_sld.valueChanged.connect(self.setFrameFromSlider)
@@ -2338,8 +2338,8 @@ class vviewer(QtGui.QMainWindow):
             self.enableFuncView()
         else:
             self.disableFuncView()
-            self.frame = 1
-            self.time_dim = 1
+            self.frame = 0 #1
+            self.time_dim = 0 #1
             self.setFrameToBox()
             self.setFrameToSlider()
 
@@ -2363,7 +2363,7 @@ class vviewer(QtGui.QMainWindow):
         """
         Goes to the first frame.
         """
-        self.frame = 1
+        self.frame = 0
         self.setSliceStateOn()
         self.setFrame()
         self.setFrameToBox()
@@ -2511,7 +2511,7 @@ class vviewer(QtGui.QMainWindow):
         if self.frame > self.time_dim:
             self.frame = self.time_dim
         if self.frame < 1:
-            self.frame = 1
+            self.frame = 0 #1
         for i in range(len(self.images)):
             if self.images[i].type_d() == "4D":
                 self.images[i].setFrame(self.frame-1) # only set the variable
-- 
GitLab