Commit e7500894fc119720d4fe3e20eb68ba09e377331c
1 parent
0f393700
Exists in
master
using language_level=3str directive to make cython works like python3
Showing
5 changed files
with
26 additions
and
18 deletions
Show diff stats
invesalius_cy/cy_mesh.pyx
| 1 | # distutils: language = c++ | 1 | # distutils: language = c++ |
| 2 | +# cython: language_level=3str | ||
| 2 | #cython: boundscheck=False | 3 | #cython: boundscheck=False |
| 3 | #cython: wraparound=False | 4 | #cython: wraparound=False |
| 4 | #cython: initializedcheck=False | 5 | #cython: initializedcheck=False |
| @@ -21,7 +22,7 @@ from libcpp cimport bool | @@ -21,7 +22,7 @@ from libcpp cimport bool | ||
| 21 | from libcpp.deque cimport deque as cdeque | 22 | from libcpp.deque cimport deque as cdeque |
| 22 | from cython.parallel import prange | 23 | from cython.parallel import prange |
| 23 | 24 | ||
| 24 | -from cy_my_types cimport vertex_t, normal_t, vertex_id_t | 25 | +from .cy_my_types cimport vertex_t, normal_t, vertex_id_t |
| 25 | 26 | ||
| 26 | import numpy as np | 27 | import numpy as np |
| 27 | import vtk | 28 | import vtk |
| @@ -451,16 +452,16 @@ def ca_smoothing(Mesh mesh, double T, double tmax, double bmin, int n_iters): | @@ -451,16 +452,16 @@ def ca_smoothing(Mesh mesh, double T, double tmax, double bmin, int n_iters): | ||
| 451 | 452 | ||
| 452 | t0 = time.time() | 453 | t0 = time.time() |
| 453 | cdef vector[vertex_id_t]* vertices_staircase = find_staircase_artifacts(mesh, stack_orientation, T) | 454 | cdef vector[vertex_id_t]* vertices_staircase = find_staircase_artifacts(mesh, stack_orientation, T) |
| 454 | - print "vertices staircase", time.time() - t0 | 455 | + print("vertices staircase", time.time() - t0) |
| 455 | 456 | ||
| 456 | t0 = time.time() | 457 | t0 = time.time() |
| 457 | cdef vector[weight_t]* weights = calc_artifacts_weight(mesh, deref(vertices_staircase), tmax, bmin) | 458 | cdef vector[weight_t]* weights = calc_artifacts_weight(mesh, deref(vertices_staircase), tmax, bmin) |
| 458 | - print "Weights", time.time() - t0 | 459 | + print("Weights", time.time() - t0) |
| 459 | 460 | ||
| 460 | del vertices_staircase | 461 | del vertices_staircase |
| 461 | 462 | ||
| 462 | t0 = time.time() | 463 | t0 = time.time() |
| 463 | taubin_smooth(mesh, deref(weights), 0.5, -0.53, n_iters) | 464 | taubin_smooth(mesh, deref(weights), 0.5, -0.53, n_iters) |
| 464 | - print "taubin", time.time() - t0 | 465 | + print("taubin", time.time() - t0) |
| 465 | 466 | ||
| 466 | del weights | 467 | del weights |
invesalius_cy/floodfill.pyx
| 1 | +#cython: language_level=3str | ||
| 2 | + | ||
| 1 | import numpy as np | 3 | import numpy as np |
| 2 | cimport numpy as np | 4 | cimport numpy as np |
| 3 | cimport cython | 5 | cimport cython |
| @@ -10,7 +12,7 @@ from libcpp cimport bool | @@ -10,7 +12,7 @@ from libcpp cimport bool | ||
| 10 | from libcpp.deque cimport deque as cdeque | 12 | from libcpp.deque cimport deque as cdeque |
| 11 | from libcpp.vector cimport vector | 13 | from libcpp.vector cimport vector |
| 12 | 14 | ||
| 13 | -from cy_my_types cimport image_t, mask_t | 15 | +from .cy_my_types cimport image_t, mask_t |
| 14 | 16 | ||
| 15 | cdef struct s_coord: | 17 | cdef struct s_coord: |
| 16 | int x | 18 | int x |
| @@ -117,9 +119,9 @@ def floodfill_threshold(np.ndarray[image_t, ndim=3] data, list seeds, int t0, in | @@ -117,9 +119,9 @@ def floodfill_threshold(np.ndarray[image_t, ndim=3] data, list seeds, int t0, in | ||
| 117 | cdef cdeque[coord] stack | 119 | cdef cdeque[coord] stack |
| 118 | cdef coord c | 120 | cdef coord c |
| 119 | 121 | ||
| 120 | - offset_z = odz / 2 | ||
| 121 | - offset_y = ody / 2 | ||
| 122 | - offset_x = odx / 2 | 122 | + offset_z = odz // 2 |
| 123 | + offset_y = ody // 2 | ||
| 124 | + offset_x = odx // 2 | ||
| 123 | 125 | ||
| 124 | for i, j, k in seeds: | 126 | for i, j, k in seeds: |
| 125 | if data[k, j, i] >= t0 and data[k, j, i] <= t1: | 127 | if data[k, j, i] >= t0 and data[k, j, i] <= t1: |
| @@ -191,13 +193,13 @@ def floodfill_auto_threshold(np.ndarray[image_t, ndim=3] data, list seeds, float | @@ -191,13 +193,13 @@ def floodfill_auto_threshold(np.ndarray[image_t, ndim=3] data, list seeds, float | ||
| 191 | for i, j, k in seeds: | 193 | for i, j, k in seeds: |
| 192 | append_queue(stack, i, j, k, d, h, w) | 194 | append_queue(stack, i, j, k, d, h, w) |
| 193 | out[k, j, i] = fill | 195 | out[k, j, i] = fill |
| 194 | - print i, j, k, d, h, w | 196 | + print(i, j, k, d, h, w) |
| 195 | 197 | ||
| 196 | with nogil: | 198 | with nogil: |
| 197 | while stack.size(): | 199 | while stack.size(): |
| 198 | pop_queue(stack, &x, &y, &z, d, h, w) | 200 | pop_queue(stack, &x, &y, &z, d, h, w) |
| 199 | 201 | ||
| 200 | - # print x, y, z, d, h, w | 202 | + # print(x, y, z, d, h, w) |
| 201 | 203 | ||
| 202 | xo = x | 204 | xo = x |
| 203 | yo = y | 205 | yo = y |
invesalius_cy/interpolation.pyx
invesalius_cy/mips.pyx
| 1 | +#cython: language_level=3str | ||
| 2 | + | ||
| 1 | #http://en.wikipedia.org/wiki/Local_maximum_intensity_projection | 3 | #http://en.wikipedia.org/wiki/Local_maximum_intensity_projection |
| 2 | import numpy as np | 4 | import numpy as np |
| 3 | cimport numpy as np | 5 | cimport numpy as np |
| @@ -90,8 +92,8 @@ def lmip(np.ndarray[DTYPE16_t, ndim=3] image, int axis, DTYPE16_t tmin, | @@ -90,8 +92,8 @@ def lmip(np.ndarray[DTYPE16_t, ndim=3] image, int axis, DTYPE16_t tmin, | ||
| 90 | 92 | ||
| 91 | cdef DTYPE16_t get_colour(DTYPE16_t vl, DTYPE16_t wl, DTYPE16_t ww): | 93 | cdef DTYPE16_t get_colour(DTYPE16_t vl, DTYPE16_t wl, DTYPE16_t ww): |
| 92 | cdef DTYPE16_t out_colour | 94 | cdef DTYPE16_t out_colour |
| 93 | - cdef DTYPE16_t min_value = wl - (ww / 2) | ||
| 94 | - cdef DTYPE16_t max_value = wl + (ww / 2) | 95 | + cdef DTYPE16_t min_value = wl - (ww // 2) |
| 96 | + cdef DTYPE16_t max_value = wl + (ww // 2) | ||
| 95 | if vl < min_value: | 97 | if vl < min_value: |
| 96 | out_colour = min_value | 98 | out_colour = min_value |
| 97 | elif vl > max_value: | 99 | elif vl > max_value: |
| @@ -105,8 +107,8 @@ cdef DTYPE16_t get_colour(DTYPE16_t vl, DTYPE16_t wl, DTYPE16_t ww): | @@ -105,8 +107,8 @@ cdef DTYPE16_t get_colour(DTYPE16_t vl, DTYPE16_t wl, DTYPE16_t ww): | ||
| 105 | @cython.cdivision(True) | 107 | @cython.cdivision(True) |
| 106 | cdef float get_opacity(DTYPE16_t vl, DTYPE16_t wl, DTYPE16_t ww) nogil: | 108 | cdef float get_opacity(DTYPE16_t vl, DTYPE16_t wl, DTYPE16_t ww) nogil: |
| 107 | cdef float out_opacity | 109 | cdef float out_opacity |
| 108 | - cdef DTYPE16_t min_value = wl - (ww / 2) | ||
| 109 | - cdef DTYPE16_t max_value = wl + (ww / 2) | 110 | + cdef DTYPE16_t min_value = wl - (ww // 2) |
| 111 | + cdef DTYPE16_t max_value = wl + (ww // 2) | ||
| 110 | if vl < min_value: | 112 | if vl < min_value: |
| 111 | out_opacity = 0.0 | 113 | out_opacity = 0.0 |
| 112 | elif vl > max_value: | 114 | elif vl > max_value: |
| @@ -120,8 +122,8 @@ cdef float get_opacity(DTYPE16_t vl, DTYPE16_t wl, DTYPE16_t ww) nogil: | @@ -120,8 +122,8 @@ cdef float get_opacity(DTYPE16_t vl, DTYPE16_t wl, DTYPE16_t ww) nogil: | ||
| 120 | @cython.cdivision(True) | 122 | @cython.cdivision(True) |
| 121 | cdef float get_opacity_f32(DTYPEF32_t vl, DTYPE16_t wl, DTYPE16_t ww) nogil: | 123 | cdef float get_opacity_f32(DTYPEF32_t vl, DTYPE16_t wl, DTYPE16_t ww) nogil: |
| 122 | cdef float out_opacity | 124 | cdef float out_opacity |
| 123 | - cdef DTYPE16_t min_value = wl - (ww / 2) | ||
| 124 | - cdef DTYPE16_t max_value = wl + (ww / 2) | 125 | + cdef DTYPE16_t min_value = wl - (ww // 2) |
| 126 | + cdef DTYPE16_t max_value = wl + (ww // 2) | ||
| 125 | if vl < min_value: | 127 | if vl < min_value: |
| 126 | out_opacity = 0.0 | 128 | out_opacity = 0.0 |
| 127 | elif vl > max_value: | 129 | elif vl > max_value: |
| @@ -144,8 +146,8 @@ def mida(np.ndarray[DTYPE16_t, ndim=3] image, int axis, DTYPE16_t wl, | @@ -144,8 +146,8 @@ def mida(np.ndarray[DTYPE16_t, ndim=3] image, int axis, DTYPE16_t wl, | ||
| 144 | cdef DTYPE16_t max = image.max() | 146 | cdef DTYPE16_t max = image.max() |
| 145 | cdef DTYPE16_t vl | 147 | cdef DTYPE16_t vl |
| 146 | 148 | ||
| 147 | - cdef DTYPE16_t min_value = wl - (ww / 2) | ||
| 148 | - cdef DTYPE16_t max_value = wl + (ww / 2) | 149 | + cdef DTYPE16_t min_value = wl - (ww // 2) |
| 150 | + cdef DTYPE16_t max_value = wl + (ww // 2) | ||
| 149 | 151 | ||
| 150 | cdef float fmax=0.0 | 152 | cdef float fmax=0.0 |
| 151 | cdef float fpi | 153 | cdef float fpi |
invesalius_cy/transforms.pyx