|
17 | 17 | # with this program (LICENSE.txt). If not, see <http://www.gnu.org/licenses/>
|
18 | 18 |
|
19 | 19 | """Module containing analysis classes"""
|
20 |
| - |
21 | 20 | from ._conduction_velocity import *
|
22 | 21 | from ..case.case_routines import interpolate_general_cloud_points_onto_surface
|
23 | 22 |
|
@@ -59,22 +58,8 @@ class ConductionVelocity:
|
59 | 58 | """
|
60 | 59 | def __init__(self, case):
|
61 | 60 | self._case = case
|
62 |
| - self._values = None |
63 |
| - self._centers = None |
64 |
| - |
65 |
| - @property |
66 |
| - def values(self): |
67 |
| - if self._values is None: |
68 |
| - raise ValueError('Before accessing ``conduction_velocity.values`` ' |
69 |
| - 'run ``divergence.calculate_divergence()``') |
70 |
| - return self._values |
71 |
| - |
72 |
| - @property |
73 |
| - def centers(self): |
74 |
| - if self._centers is None: |
75 |
| - raise ValueError('Before accessing ``conduction_velocity.centers`` ' |
76 |
| - 'run ``divergence.calculate_divergence()``') |
77 |
| - return self._centers |
| 61 | + self.values = None |
| 62 | + self.centers = None |
78 | 63 |
|
79 | 64 | def calculate_cv(
|
80 | 65 | self,
|
@@ -134,12 +119,19 @@ def calculate_cv(
|
134 | 119 | if method.lower() not in supported_cv_methods:
|
135 | 120 | raise ValueError(f"`method` must be one of {supported_cv_methods.keys()}.")
|
136 | 121 |
|
| 122 | + if include is None and self._case.electric.include is None: |
| 123 | + raise TypeError(f"include object is of 'NoneType'") |
| 124 | + else: |
| 125 | + include = self._case.electric.include.astype(bool) if include is None else include |
| 126 | + |
137 | 127 | interpolation_kws = dict() if interpolation_kws is None else interpolation_kws
|
138 |
| - include = self._case.electric.include.astype(bool) if include is None else include |
139 |
| - lat, bipolar_egm_pts = preprocess_lat_egm(self._case, include) |
| 128 | + |
| 129 | + bipolar_egm_pts = self._case.electric.bipolar_egm.points[include] |
| 130 | + lat = (self._case.electric.annotations.local_activation_time[include] |
| 131 | + - self._case.electric.annotations.reference_activation_time[include]) |
140 | 132 |
|
141 | 133 | cv_method = supported_cv_methods[method]
|
142 |
| - self._values, self._centers = cv_method(bipolar_egm_pts, lat, **method_kwargs) |
| 134 | + self.values, self.centers = cv_method(bipolar_egm_pts, lat, **method_kwargs) |
143 | 135 |
|
144 | 136 | if apply_scalar_field:
|
145 | 137 | self._case.fields.conduction_velocity = interpolate_general_cloud_points_onto_surface(
|
@@ -169,20 +161,8 @@ class Divergence:
|
169 | 161 | """
|
170 | 162 | def __init__(self, case):
|
171 | 163 | self._case = case
|
172 |
| - self._direction = None |
173 |
| - self._values = None |
174 |
| - |
175 |
| - @property |
176 |
| - def values(self): |
177 |
| - if self._values is None: |
178 |
| - raise ValueError('Before accessing ``..divergence.values`` run ``..divergence.calculate_divergence()``') |
179 |
| - return self._values |
180 |
| - |
181 |
| - @property |
182 |
| - def direction(self): |
183 |
| - if self._direction is None: |
184 |
| - raise ValueError('Before accessing ``divergence.direction`` run ``divergence.calculate_divergence()``') |
185 |
| - return self._direction |
| 164 | + self.direction = None |
| 165 | + self.values = None |
186 | 166 |
|
187 | 167 | def calculate_divergence(
|
188 | 168 | self,
|
@@ -224,10 +204,16 @@ def calculate_divergence(
|
224 | 204 | direction, values = cv.calculate_divergence(output_binary_field=True, apply_scalar_field=True)
|
225 | 205 | """
|
226 | 206 |
|
227 |
| - include = self._case.electric.include.astype(bool) if include is None else include |
228 |
| - lat, bipolar_egm_pts = preprocess_lat_egm(self._case, include, lat_threshold=None) |
| 207 | + if include is None and self._case.electric.include is None: |
| 208 | + raise TypeError(f"include object is of 'NoneType'") |
| 209 | + else: |
| 210 | + include = self._case.electric.include.astype(bool) if include is None else include |
| 211 | + |
| 212 | + bipolar_egm_pts = self._case.electric.bipolar_egm.points[include] |
| 213 | + lat = (self._case.electric.annotations.local_activation_time[include] |
| 214 | + - self._case.electric.annotations.reference_activation_time[include]) |
229 | 215 |
|
230 |
| - self._direction, self._values = divergence( |
| 216 | + self.direction, self.values = divergence( |
231 | 217 | case=self._case,
|
232 | 218 | bipolar_egm_pts=bipolar_egm_pts,
|
233 | 219 | local_activation_time=lat,
|
|
0 commit comments