Skip to content

Commit dc3875b

Browse files
committed
refactor: remove redundant np.asarray/np.array on self.bvalues (PR #165 review feedback)
self.bvalues is already guaranteed to be np.ndarray from OsipiBase.__init__(), so re-wrapping it with np.asarray() or np.array() is a no-op / unnecessary copy. Addresses review feedback from @oliverchampion on PR #165. Changes across 25 files: - OsipiBase.osipi_fit(): use_bvalues = self.bvalues (was np.asarray) - OsipiBase.osipi_simple_bias_and_RMSE_test(): bvalues = self.bvalues (was np.asarray) - All 23 standardized algorithms: bvalues = self.bvalues (was np.array/np.asarray)
1 parent 7fd3dd8 commit dc3875b

25 files changed

Lines changed: 30 additions & 30 deletions

src/standardized/ASD_MemorialSloanKettering_QAMPER_IVIM.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def ivim_fit(self, signals, **kwargs):
8080

8181
initial_guess = [self.initial_guess["D"], self.initial_guess["f"], self.initial_guess["Dp"], self.initial_guess["S0"]]
8282

83-
bvalues=np.array(self.bvalues)
83+
bvalues=self.bvalues
8484
LB = np.array(bounds[0])[[1,0,2,3]]
8585
UB = np.array(bounds[1])[[1,0,2,3]]
8686

src/standardized/DT_IIITN_WLS.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def ivim_fit(self, signals, **kwargs):
7575
Returns:
7676
dict: Dictionary with keys "D", "f", "Dp".
7777
"""
78-
bvalues = np.array(self.bvalues)
78+
bvalues = self.bvalues
7979

8080
# Use threshold as cutoff if available
8181
cutoff = 200

src/standardized/IAR_LU_biexp.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def ivim_fit(self, signals, **kwargs):
8787
initial_guess = [self.initial_guess["S0"], self.initial_guess["f"], self.initial_guess["Dp"], self.initial_guess["D"]]
8888

8989
if self.IAR_algorithm is None:
90-
bvalues = np.asarray(self.bvalues)
90+
bvalues = self.bvalues
9191

9292
bvec = np.zeros((bvalues.size, 3))
9393
bvec[:,2] = 1
@@ -120,14 +120,14 @@ def ivim_fit_full_volume(self, signals, **kwargs):
120120
[self.bounds["S0"][1], self.bounds["f"][1], self.bounds["Dp"][1], self.bounds["D"][1]]]
121121
initial_guess = [self.initial_guess["S0"], self.initial_guess["f"], self.initial_guess["Dp"], self.initial_guess["D"]]
122122
if self.IAR_algorithm is None:
123-
bvalues = np.asarray(self.bvalues)
123+
bvalues = self.bvalues
124124

125125
bvec = np.zeros((bvalues.size, 3))
126126
bvec[:,2] = 1
127127
gtab = gradient_table(bvalues, bvecs=bvec, b0_threshold=0)
128128

129129
self.IAR_algorithm = IvimModelBiExp(gtab, bounds=bounds, initial_guess=initial_guess)
130-
bvalues = np.asarray(self.bvalues)
130+
bvalues = self.bvalues
131131
b0_index = np.where(bvalues == 0)[0][0]
132132
mask = signals[...,b0_index]>0
133133
fit_results = self.IAR_algorithm.fit(signals, mask=mask)

src/standardized/IAR_LU_modified_mix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def ivim_fit(self, signals, **kwargs):
8282
[self.bounds["f"][1], self.bounds["Dp"][1]*1000, self.bounds["D"][1]*1000]]
8383

8484
if self.IAR_algorithm is None:
85-
bvalues = np.asarray(self.bvalues)
85+
bvalues = self.bvalues
8686

8787
bvec = np.zeros((bvalues.size, 3))
8888
bvec[:,2] = 1

src/standardized/IAR_LU_modified_topopro.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def ivim_fit(self, signals, **kwargs):
8585
[self.bounds["f"][1], self.bounds["Dp"][1]*1000, self.bounds["D"][1]*1000]]
8686

8787
if self.IAR_algorithm is None:
88-
bvalues = np.asarray(self.bvalues)
88+
bvalues = self.bvalues
8989

9090
bvec = np.zeros((bvalues.size, 3))
9191
bvec[:,2] = 1

src/standardized/IAR_LU_segmented_2step.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def ivim_fit(self, signals, **kwargs):
8989
initial_guess = [self.initial_guess["S0"], self.initial_guess["f"], self.initial_guess["Dp"], self.initial_guess["D"]]
9090

9191
if self.IAR_algorithm is None:
92-
bvalues = np.asarray(self.bvalues)
92+
bvalues = self.bvalues
9393

9494
bvec = np.zeros((bvalues.size, 3))
9595
bvec[:,2] = 1

src/standardized/IAR_LU_segmented_3step.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def ivim_fit(self, signals, **kwargs):
9292
initial_guess = [self.initial_guess["S0"], self.initial_guess["f"], self.initial_guess["Dp"], self.initial_guess["D"]]
9393

9494
if self.IAR_algorithm is None:
95-
bvalues = np.asarray(self.bvalues)
95+
bvalues = self.bvalues
9696

9797
bvec = np.zeros((bvalues.size, 3))
9898
bvec[:,2] = 1

src/standardized/IAR_LU_subtracted.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def ivim_fit(self, signals, **kwargs):
8989
initial_guess = [self.initial_guess["S0"], self.initial_guess["f"], self.initial_guess["Dp"], self.initial_guess["D"]]
9090

9191
if self.IAR_algorithm is None:
92-
bvalues = np.asarray(self.bvalues)
92+
bvalues = self.bvalues
9393

9494
bvec = np.zeros((bvalues.size, 3))
9595
bvec[:,2] = 1

src/standardized/OGC_AmsterdamUMC_Bayesian_biexp.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def ivim_fit(self, signals, initial_guess=None, **kwargs):
8787

8888
initial_guess = [self.initial_guess["D"], self.initial_guess["f"], self.initial_guess["Dp"], self.initial_guess["S0"]]
8989

90-
bvalues=np.array(self.bvalues)
90+
bvalues=self.bvalues
9191

9292
epsilon = 0.000001
9393
fit_results = fit_segmented(bvalues, signals, bounds=bounds, cutoff=self.thresholds, p0=initial_guess)
@@ -120,7 +120,7 @@ def ivim_fit_full_volume(self, signals, njobs=4, **kwargs):
120120
# Get index of b=0
121121
shape=np.shape(signals)
122122

123-
bvalues=np.array(self.bvalues)
123+
bvalues=self.bvalues
124124
b0_index = np.where(bvalues == 0)[0][0]
125125
# Mask of voxels where signal at b=0 >= 0.5
126126
valid_mask = signals[..., b0_index] >= 0
@@ -132,7 +132,7 @@ def ivim_fit_full_volume(self, signals, njobs=4, **kwargs):
132132
normalization_factor = np.mean(signals[..., b0_indices],axis=-1)
133133
signals = signals / np.repeat(normalization_factor[...,np.newaxis],np.shape(signals)[-1],-1)
134134

135-
bvalues=np.array(self.bvalues)
135+
bvalues=self.bvalues
136136

137137
epsilon = 0.000001
138138
fit_results = np.array(fit_segmented_array(bvalues, signals, bounds=bounds, cutoff=self.thresholds, p0=initial_guess))

src/standardized/OGC_AmsterdamUMC_biexp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def ivim_fit(self, signals, **kwargs):
6565

6666
initial_guess = [self.initial_guess["D"], self.initial_guess["f"], self.initial_guess["Dp"], self.initial_guess["S0"]]
6767

68-
bvalues=np.array(self.bvalues)
68+
bvalues=self.bvalues
6969
fit_results = self.OGC_algorithm(bvalues, signals, p0=initial_guess, bounds=bounds, fitS0=self.fitS0)
7070

7171
results = {}

0 commit comments

Comments
 (0)