Skip to content

Commit 6052ad7

Browse files
committed
cleanup additional ffb2d test
1 parent 92253c1 commit 6052ad7

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

tests/test_FFBbasis2D.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -168,39 +168,46 @@ def test_bulk_expand_radial_vec():
168168
"""
169169
For a given stack of radial vectors (such as from
170170
RadialCTFFilters) `expand_radial_vec` should return equivalent
171-
result as calling filter_to_basis_mat on each filter.
171+
result as calling filter_stack_to_basis_mats on filter_stack,
172+
and calling filter_to_basis_mat on each filter.
172173
"""
173174

174175
L = 32
175176
dtype = np.float32
176177
basis = FFBBasis2D(L, dtype=dtype)
177178
pixel_size = 1.23
178179

179-
filters = [RadialCTFFilter(defocus=d) for d in np.linspace(10000, 15000, 3)]
180-
180+
filters = RadialCTFFilter(defocus=np.linspace(10000, 15000, 3))
181+
stack_references = basis.filter_stack_to_basis_mats(filters, pixel_size=pixel_size)
181182
references = [basis.filter_to_basis_mat(f, pixel_size=pixel_size) for f in filters]
182183

183-
# from cov code
184-
params = np.empty((len(filters), 7), dtype=dtype)
185-
for i, f in enumerate(filters):
186-
# TODO xxx fix param dump, same as sim/source
187-
params[i] = np.array(f._ctf_params()).flatten()
188-
184+
# Stack of all filter params
185+
params = filters._ctf_params()
186+
# Stack of filter values
189187
_filter_vals = RadialCTFFilter.ctf_formula(
190188
basis._filter_pts, pixel_size, *(params.T)
191189
)
192190

191+
# Stack result
193192
results = basis.expand_radial_vec(_filter_vals)
193+
# Sequential result
194194
results2 = [basis.expand_radial_vec(f)[0] for f in _filter_vals]
195195

196196
# expand_radial_vec should be same as itself called sequentially
197197
assert len(results2) == len(results)
198198
for res, ref in zip(results2, results):
199199
np.testing.assert_allclose(res.dense(), ref.dense())
200200

201-
# and should be equivalent to calling filter_to_basis_mat
201+
# and should be equivalent to calling filter_to_basis_mat (for this radial case)
202202
assert len(results) == len(references)
203203
for res, ref in zip(results, references):
204204
np.testing.assert_allclose(
205205
res.dense(), ref.dense(), atol=utest_tolerance(dtype)
206206
)
207+
208+
# The list from filter_to_basis_mat should be equivalent to list filter_stack_to_basis_mats
209+
assert len(references) == len(stack_references)
210+
for res, ref in zip(stack_references, references):
211+
np.testing.assert_allclose(
212+
res.dense(), ref.dense(), atol=utest_tolerance(dtype)
213+
)

0 commit comments

Comments
 (0)