Skip to content

Commit 5856e21

Browse files
removed type hinting as may cause problems for old python versions
1 parent 91af69c commit 5856e21

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

src/original/OJ_GU/ivim_seg.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
import numpy.typing as npt
33

4-
def seg(Y: npt.NDArray[np.float64], b: npt.NDArray[np.float64], bthr: float = 200, verbose: bool = False) -> dict:
4+
def seg(Y, b, bthr = 200, verbose = False):
55
"""
66
Segmented fitting of the IVIM model.
77
@@ -12,7 +12,7 @@ def seg(Y: npt.NDArray[np.float64], b: npt.NDArray[np.float64], bthr: float = 20
1212
verbose: (optional) if True, diagnostics during fitting is printet to terminal
1313
"""
1414

15-
def valid_signal(Y: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
15+
def valid_signal(Y):
1616
"""
1717
Return a mask representing all rows in Y with valid values (not non-positive, NaN or infinite).
1818
@@ -26,7 +26,7 @@ def valid_signal(Y: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
2626
mask = ~np.any((Y<=0) | np.isnan(Y) | np.isinf(Y), axis=1)
2727
return mask
2828

29-
def monoexp_model(b: npt.NDArray[np.float64], D: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
29+
def monoexp_model(b, D):
3030
"""
3131
Return the monoexponential e^(-b*D).
3232
@@ -43,7 +43,7 @@ def monoexp_model(b: npt.NDArray[np.float64], D: npt.NDArray[np.float64]) -> npt
4343
return np.reshape(S, list(D.shape) + [b.size]) # reshape as np.outer flattens D is ndim > 1
4444

4545

46-
def _monoexp(Y: npt.NDArray[np.float64], b: npt.NDArray[np.float64], lim: list = [0, 3e-3], validate: bool = True, verbose: bool = False) -> tuple[npt.NDArray[np.float64], npt.NDArray[np.float64]]:
46+
def _monoexp(Y, b, lim = [0, 3e-3], validate = True, verbose = False):
4747
""" Estimate D and A (y axis intercept) from a monoexponential model. """
4848

4949
if validate:
@@ -70,18 +70,13 @@ def _monoexp(Y: npt.NDArray[np.float64], b: npt.NDArray[np.float64], lim: list =
7070

7171
return D, A
7272

73-
def _get_S0(Y: npt.NDArray[np.float64], b: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
74-
""" Return the signal values at b = 0."""
75-
return np.mean(Y[:, b==0], axis=1)
76-
77-
78-
def _f_from_intercept(A: npt.NDArray[np.float64], S0: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
73+
def _f_from_intercept(A, S0):
7974
""" Calculate f from S(b=0) and extrapolated y axis intercept A."""
8075
f = 1 - A/S0
8176
f[f<0] = 0
8277
return f
8378

84-
def _optimizeD(Y: npt.NDArray[np.float64], b: npt.NDArray[np.float64], lim: list, optlim: float = 1e-6, disp_prog: bool = False) -> tuple[npt.NDArray[np.float64], npt.NDArray[np.float64]]:
79+
def _optimizeD(Y, b, lim, optlim = 1e-6, disp_prog = False):
8580
""" Specfically tailored function for finding the least squares solution of monoexponenital fit. """
8681

8782
n = Y.shape[0]
@@ -177,7 +172,7 @@ def _optimizeD(Y: npt.NDArray[np.float64], b: npt.NDArray[np.float64], lim: list
177172
return D, A
178173

179174

180-
def _Ddiff(Y: npt.NDArray[np.float64], yb: npt.NDArray[np.float64], b: npt.NDArray[np.float64], D: npt.NDArray[np.float64]):
175+
def _Ddiff(Y, yb, b, D):
181176
"""
182177
Return the difference between q1 = e^(-2*b*D)*yb*e^(-b*D) and
183178
q2 = Y*e^(-b*D)*b*e^(-2*b*D) summed over b as well as the ratio q1/q2

0 commit comments

Comments
 (0)