[med-svn] [Git][med-team/invesalius][master] 5 commits: New upstream version 3.1.99992

Thiago Franco de Moraes gitlab at salsa.debian.org
Tue Sep 11 13:41:00 BST 2018


Thiago Franco de Moraes pushed to branch master at Debian Med / invesalius


Commits:
f6db4e7b by Thiago Franco de Moraes at 2018-09-10T14:20:04Z
New upstream version 3.1.99992
- - - - -
bb77af92 by Thiago Franco de Moraes at 2018-09-10T14:23:07Z
Update upstream source from tag 'upstream/3.1.99992'

Update to upstream version '3.1.99992'
with Debian dir 90837460c3e62a88072d642030bfc63f403e7c0d
- - - - -
08415043 by Thiago Franco de Moraes at 2018-09-10T15:22:16Z
porting to python3

- - - - -
83d10824 by Thiago Franco de Moraes at 2018-09-10T15:28:27Z
porting to python3

- - - - -
8c6741e3 by Thiago Franco de Moraes at 2018-09-11T12:40:26Z
Removing X-Python3-Version

- - - - -


18 changed files:

- debian/changelog
- debian/control
- debian/rules
- docs/user_guide_en.pdf
- docs/user_guide_en_source/cap_manip.tex
- docs/user_guide_pt_BR.pdf
- docs/user_guide_pt_BR_source/cap_manip.tex
- invesalius/constants.py
- invesalius/data/cy_mesh.pyx
- invesalius/data/mask.py
- invesalius/data/slice_.py
- invesalius/data/styles.py
- invesalius/data/surface.py
- invesalius/data/trigger.py
- invesalius/gui/data_notebook.py
- invesalius/gui/task_navigator.py
- invesalius/gui/widgets/slice_menu.py
- setup.py


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+invesalius (3.1.99992-1) UNRELEASED; urgency=medium
+
+  [ Thiago Franco de Moraes ]
+  * New upstream version
+    Closes: #908456
+
+ -- Thiago Franco de Moraes <tfmoraes at cti.gov.br>  Mon, 10 Sep 2018 11:57:50 -0300
+
 invesalius (3.1.99991-1) unstable; urgency=medium
 
   [ Thiago Franco de Moraes ]


=====================================
debian/control
=====================================
@@ -5,11 +5,11 @@ Uploaders: Andreas Tille <tille at debian.org>,
 Section: graphics
 Priority: optional
 Build-Depends: debhelper (>= 11~),
-               python-all-dev,
-               cython,
+               python3-all-dev,
+               cython3,
                dh-python,
-               python-numpy
-Build-Depends-Indep: python
+               python3-numpy
+Build-Depends-Indep: python3
 Standards-Version: 4.2.0
 Vcs-Browser: https://salsa.debian.org/med-team/invesalius
 Vcs-Git: https://salsa.debian.org/med-team/invesalius.git
@@ -19,19 +19,17 @@ Package: invesalius
 Architecture: all
 Depends: ${python:Depends},
          ${misc:Depends},
-         python-numpy,
-         python-scipy,
-         python-skimage,
-         python-wxgtk4.0,
-         python-pil,
-         python-gdcm,
-         python-vtkgdcm,
-         python-vtk6,
-         python-nibabel,
-         python-serial,
-         python-psutil,
-         python-configparser,
-         python-concurrent.futures,
+         python3-numpy,
+         python3-scipy,
+         python3-skimage,
+         python3-wxgtk4.0,
+         python3-pil,
+         python3-gdcm,
+         python3-vtkgdcm,
+         python3-vtk7,
+         python3-nibabel,
+         python3-serial,
+         python3-psutil,
          invesalius-bin
 Description: 3D medical imaging reconstruction software
  InVesalius generates 3D medical imaging reconstructions based on a sequence of


=====================================
debian/rules
=====================================
@@ -14,10 +14,10 @@ version=2.0.5
 major=2
 
 %:
-	dh $@ --with python2
+	dh $@ --with python3
 
 override_dh_auto_build: create-cython-dir
-	python setup.py build_ext --inplace
+	python3 setup.py build_ext --inplace
 
 override_dh_auto_clean:
 	# dh_auto_clean
@@ -40,10 +40,9 @@ override_dh_clean:
 create-launcher:
 	echo '#!/bin/sh' > invesalius3
 	echo 'export PYTHONPATH=$$PYTHONPATH:"/usr/lib/invesalius"' >> invesalius3
-	echo 'export PYTHONPATH=$$PYTHONPATH:"/usr/lib/python2.7/dist-packages/wxPython-4.0.1-py2.7-linux-amd64.egg"' >> invesalius3
 	echo 'export INVESALIUS_LIBRARY_PATH="/usr/share/invesalius/"' >> invesalius3
 	echo 'cd $$INVESALIUS_LIBRARY_PATH' >> invesalius3
-	echo 'python app.py $$@' >> invesalius3
+	echo 'python3 app.py $$@' >> invesalius3
 
 override_dh_install: create-launcher
 	dh_install


=====================================
docs/user_guide_en.pdf
=====================================
Binary files a/docs/user_guide_en.pdf and b/docs/user_guide_en.pdf differ


=====================================
docs/user_guide_en_source/cap_manip.tex
=====================================
@@ -352,7 +352,7 @@ As shown in Figure~\ref{fig:proj_maxip_qtd}, the number of MaxIP images is set a
 
 \subsection{MinIP}
 
-Unlike MaxIP, MinIP (\textit{Minimun Intensity Projection}) selects only the voxels that have minimal intensity among those visited, as shown in Figure~\ref{fig:proj_minIP}. The image number selection comprising the projection is made at the bottom of each orientation image as shown in Figure~\ref{fig:proj_maxip_qtd}.
+Unlike MaxIP, MinIP (\textit{Minimum Intensity Projection}) selects only the voxels that have minimal intensity among those visited, as shown in Figure~\ref{fig:proj_minIP}. The image number selection comprising the projection is made at the bottom of each orientation image as shown in Figure~\ref{fig:proj_maxip_qtd}.
 
 \begin{figure}[!h]
 \centering
@@ -411,4 +411,4 @@ The Contour MIDA function consists of visualizing contours present in the projec
 \includegraphics[scale=0.40]{multiplanar_window_contour_mida_en.png}
 \caption{Contour MIDA projection}
 \label{fig:proj_contorno_mida}
-\end{figure}
\ No newline at end of file
+\end{figure}


=====================================
docs/user_guide_pt_BR.pdf
=====================================
Binary files a/docs/user_guide_pt_BR.pdf and b/docs/user_guide_pt_BR.pdf differ


=====================================
docs/user_guide_pt_BR_source/cap_manip.tex
=====================================
@@ -412,7 +412,7 @@ Como mostra a figura~\ref{fig:proj_maxip_qtd}, a quantidade de imagens que irá
 
 \subsection{MinIP}
 
-Ao contrário do MaxIP, o MinIP (\textit{Minimun Intensity Projection}) seleciona somente os voxels que possuem internsidade minima entre os visitados, apresentamos na figura~\ref{fig:proj_minIP} um exemplo. A seleção da quantidade de imagens que irá compor a projeção é feita no inferior da imagem de cada orientação como mostra a figura~\ref{fig:proj_maxip_qtd}.
+Ao contrário do MaxIP, o MinIP (\textit{Minimum Intensity Projection}) seleciona somente os voxels que possuem internsidade minima entre os visitados, apresentamos na figura~\ref{fig:proj_minIP} um exemplo. A seleção da quantidade de imagens que irá compor a projeção é feita no inferior da imagem de cada orientação como mostra a figura~\ref{fig:proj_maxip_qtd}.
 
 \begin{figure}[H]
 \centering
@@ -471,4 +471,4 @@ Compõe a projeção 2D do conjunto de imagens que contém o volume usando a té
 \includegraphics[scale=0.40]{multiplanar_window_contour_mida_pt.png}
 \caption{Projeção de Contorno MIDA}
 \label{fig:proj_contorno_mida}
-\end{figure}
\ No newline at end of file
+\end{figure}


=====================================
invesalius/constants.py
=====================================
@@ -355,7 +355,7 @@ if hasattr(sys,"frozen") and (sys.frozen == "windows_exe"\
 
 else:
     ICON_DIR = os.path.abspath(os.path.join(FILE_PATH, u'..', u'icons'))
-    SAMPLE_DIR = os.path.abspath(os.path.join(FILE_PATH, u'..', u'samples'))
+    SAMPLE_DIR = u"/usr/share/doc/invesalius-examples/examples/"
     DOC_DIR = os.path.abspath(os.path.join(FILE_PATH, u'..', u'docs'))
 
     folder=RAYCASTING_PRESETS_DIRECTORY= os.path.abspath(os.path.join(u".",


=====================================
invesalius/data/cy_mesh.pyx
=====================================
@@ -173,7 +173,7 @@ cdef class Mesh:
 
         Params:
             v_id: id of the vertex
-            dmax: the maximun distance.
+            dmax: the maximum distance.
         """
         cdef vector[vertex_id_t]* idfaces
         cdef vector[vertex_id_t]* near_vertices = new vector[vertex_id_t]()
@@ -230,7 +230,7 @@ cdef vector[weight_t]* calc_artifacts_weight(Mesh mesh, vector[vertex_id_t]& ver
         vertices_staircase: the identified staircase artifact vertices
         tmax: max distance the vertex must be to its nearest artifact vertex
               to considered to calculate the weight
-        bmin: The minimun weight.
+        bmin: The minimum weight.
     """
     cdef int vi_id, vj_id, nnv, n_ids, i, j
     cdef vector[vertex_id_t]* near_vertices
@@ -444,7 +444,7 @@ def ca_smoothing(Mesh mesh, double T, double tmax, double bmin, int n_iters):
            vertex a staircase artifact
         tmax: max distance the vertex must be to its nearest artifact vertex
               to considered to calculate the weight
-        bmin: The minimun weight
+        bmin: The minimum weight
         n_iters: Number of iterations.
     """
     cdef double[3] stack_orientation = [0.0, 0.0, 1.0]


=====================================
invesalius/data/mask.py
=====================================
@@ -30,7 +30,7 @@ import invesalius.constants as const
 import invesalius.data.imagedata_utils as iu
 import invesalius.session as ses
 
-from . import floodfill
+from invesalius_cy import floodfill
 
 from wx.lib.pubsub import pub as Publisher
 from scipy import ndimage


=====================================
invesalius/data/slice_.py
=====================================
@@ -33,9 +33,9 @@ import invesalius.session as ses
 import invesalius.utils as utils
 from invesalius.data.mask import Mask
 from invesalius.project import Project
-from invesalius.data import mips
+from invesalius_cy import mips
 
-from invesalius.data import transforms
+from invesalius_cy import transforms
 import invesalius.data.transformations as transformations
 OTHER=0
 PLIST=1


=====================================
invesalius/data/styles.py
=====================================
@@ -47,7 +47,7 @@ from skimage.morphology import watershed
 import invesalius.gui.dialogs as dialogs
 from invesalius.data.measures import MeasureData
 
-from . import floodfill
+from invesalius_cy import floodfill
 
 import invesalius.data.watershed_process as watershed_process
 import invesalius.utils as utils


=====================================
invesalius/data/surface.py
=====================================
@@ -48,7 +48,7 @@ import invesalius.data.surface_process as surface_process
 import invesalius.utils as utl
 import invesalius.data.vtk_utils as vu
 
-from invesalius.data import cy_mesh
+from invesalius_cy import cy_mesh
 # TODO: Verificar ReleaseDataFlagOn and SetSource 
 
 class Surface():


=====================================
invesalius/data/trigger.py
=====================================
@@ -52,7 +52,7 @@ class Trigger(threading.Thread):
     def __bind_events(self):
         Publisher.subscribe(self.OnStylusPLH, 'PLH Stylus Button On')
 
-    def OnStylusPLH(self, pubsuv_evt):
+    def OnStylusPLH(self):
         self.stylusplh = True
 
     def stop(self):


=====================================
invesalius/gui/data_notebook.py
=====================================
@@ -1135,7 +1135,7 @@ class MeasuresListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin):
                                   index=index, visibility=visibility)
 
     def OnLoadData(self, measurement_dict, spacing=(1.0, 1.0, 1.0)):
-        for i in measurement_dict:
+        for i in sorted(measurement_dict):
             m = measurement_dict[i]
             image = self.CreateColourBitmap(m.colour)
             image_index = self.imagelist.Add(image)


=====================================
invesalius/gui/task_navigator.py
=====================================
@@ -239,21 +239,23 @@ class InnerFoldPanel(wx.Panel):
         Publisher.sendMessage('Update trigger state', trigger_state=ctrl.GetValue())
 
     def OnShowObject(self, evt=None, flag=None, obj_name=None):
-        if flag:
-            self.checkobj.Enable(True)
-            self.track_obj = True
-            Publisher.sendMessage('Status target button', status=True)
-        else:
-            self.checkobj.Enable(False)
-            self.checkobj.SetValue(False)
-            self.track_obj = False
-            Publisher.sendMessage('Status target button', status=False)
+        if not evt:
+            if flag:
+                self.checkobj.Enable(True)
+                self.track_obj = True
+                Publisher.sendMessage('Status target button', status=True)
+            else:
+                self.checkobj.Enable(False)
+                self.checkobj.SetValue(False)
+                self.track_obj = False
+                Publisher.sendMessage('Status target button', status=False)
 
         Publisher.sendMessage('Update show object state', state=self.checkobj.GetValue())
 
     def OnVolumeCamera(self, evt=None, target_mode=None):
-        if target_mode is True:
-            self.checkcamera.SetValue(0)
+        if not evt:
+            if target_mode is True:
+                self.checkcamera.SetValue(0)
         Publisher.sendMessage('Update volume camera state', camera_state=self.checkcamera.GetValue())
 
 
@@ -860,7 +862,7 @@ class ObjectRegistrationPanel(wx.Panel):
             self.btn_load.Enable(1)
             if self.obj_fiducials is not None:
                 self.checktrack.Enable(1)
-                Publisher.sendMessage('Enable target button', True)
+                #Publisher.sendMessage('Enable target button', True)
 
     def OnSelectAngleThreshold(self, evt, ctrl):
         Publisher.sendMessage('Update angle threshold', angle=ctrl.GetValue())
@@ -1121,7 +1123,7 @@ class MarkersPanel(wx.Panel):
         self.tgt_index = self.lc.GetFocusedItem()
         self.lc.SetItemBackgroundColour(self.tgt_index, 'RED')
 
-        Publisher.sendMessage('Update target', coord=self.list_coord[self.tgt_index])
+        Publisher.sendMessage('Update target', coord=self.list_coord[self.tgt_index][:6])
         Publisher.sendMessage('Set target transparency', status=True, index=self.tgt_index)
         Publisher.sendMessage('Disable or enable coil tracker', status=True)
         self.OnMenuEditMarkerId('TARGET')
@@ -1152,7 +1154,7 @@ class MarkersPanel(wx.Panel):
         # OnDeleteSingleMarker is used for both pubsub and button click events
         # Pubsub is used for fiducial handle and button click for all others
 
-        if marker_id is not None:
+        if not evt:
             if self.lc.GetItemCount():
                 for id_n in range(self.lc.GetItemCount()):
                     item = self.lc.GetItem(id_n, 4)


=====================================
invesalius/gui/widgets/slice_menu.py
=====================================
@@ -229,10 +229,9 @@ class SliceMenu(wx.Menu):
             if sys.platform.startswith('linux'):
                 for i in self.pseudo_color_items:
                     it = self.pseudo_color_items[i]
-                    if it.IsChecked():
-                        it.Toggle()
+                    it.Check(False)
 
-                item.Toggle()
+                item.Check()
             self.HideClutDialog()
             self._gen_event = True
 
@@ -244,10 +243,9 @@ class SliceMenu(wx.Menu):
             if sys.platform.startswith('linux'):
                 for i in self.pseudo_color_items:
                     it = self.pseudo_color_items[i]
-                    if it.IsChecked():
-                        it.Toggle()
+                    it.Check(False)
 
-                item.Toggle()
+                item.Check()
             self.HideClutDialog()
             self._gen_event = True
 
@@ -276,10 +274,9 @@ class SliceMenu(wx.Menu):
             if sys.platform.startswith('linux'):
                 for i in self.pseudo_color_items:
                     it = self.pseudo_color_items[i]
-                    if it.IsChecked():
-                        it.Toggle()
+                    it.Check(False)
 
-                item.Toggle()
+                item.Check()
             item = self.ID_TO_TOOL_ITEM[evt.GetId()]
             item.Check(True)
             self._gen_event = False


=====================================
setup.py
=====================================
@@ -11,26 +11,26 @@ import numpy
 if sys.platform.startswith('linux'):
     setup(
         cmdclass = {'build_ext': build_ext},
-        ext_modules = cythonize([ Extension("invesalius.data.mips", ["invesalius/data/mips.pyx"],
+        ext_modules = cythonize([ Extension("invesalius_cy.mips", ["invesalius_cy/mips.pyx"],
                                   include_dirs =  [numpy.get_include()],
                                   extra_compile_args=['-fopenmp'],
                                   extra_link_args=['-fopenmp']),
 
-                       Extension("invesalius.data.interpolation", ["invesalius/data/interpolation.pyx"],
+                       Extension("invesalius_cy.interpolation", ["invesalius_cy/interpolation.pyx"],
                                  include_dirs=[numpy.get_include()],
                                  extra_compile_args=['-fopenmp',],
                                  extra_link_args=['-fopenmp',]),
 
-                       Extension("invesalius.data.transforms", ["invesalius/data/transforms.pyx"],
+                       Extension("invesalius_cy.transforms", ["invesalius_cy/transforms.pyx"],
                                  include_dirs=[numpy.get_include()],
                                  extra_compile_args=['-fopenmp',],
                                  extra_link_args=['-fopenmp',]),
 
-                       Extension("invesalius.data.floodfill", ["invesalius/data/floodfill.pyx"],
+                       Extension("invesalius_cy.floodfill", ["invesalius_cy/floodfill.pyx"],
                                  include_dirs=[numpy.get_include()],
                                  language='c++',),
 
-                       Extension("invesalius.data.cy_mesh", ["invesalius/data/cy_mesh.pyx"],
+                       Extension("invesalius_cy.cy_mesh", ["invesalius_cy/cy_mesh.pyx"],
                                  include_dirs=[numpy.get_include()],
                                  extra_compile_args=['-fopenmp', '-std=c++11'],
                                  extra_link_args=['-fopenmp', '-std=c++11'],



View it on GitLab: https://salsa.debian.org/med-team/invesalius/compare/be60c4bae93d9120c2011878546fb0b094c008bc...8c6741e373ecd8dc4fe3202cc3b84da519042d74

-- 
View it on GitLab: https://salsa.debian.org/med-team/invesalius/compare/be60c4bae93d9120c2011878546fb0b094c008bc...8c6741e373ecd8dc4fe3202cc3b84da519042d74
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20180911/0b7e4406/attachment-0001.html>


More information about the debian-med-commit mailing list