Skip to content

Commit 317ea2e

Browse files
committed
use _aspireAmplitude to retain ampitudes for saved files
1 parent 2d19b26 commit 317ea2e

4 files changed

Lines changed: 11 additions & 13 deletions

File tree

src/aspire/source/image.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -483,21 +483,16 @@ def offsets(self, values):
483483

484484
@property
485485
def amplitudes(self):
486-
if self.has_metadata("__amplitude"):
487-
values = self.get_metadata("__amplitude")
488-
else:
489-
values = self.get_metadata(
490-
"_rlnAmplitude",
491-
default_value=np.array(1.0, dtype=np.float64),
492-
)
486+
values = self.get_metadata(
487+
"_aspireAmplitude",
488+
default_value=np.array(1.0, dtype=np.float64),
489+
)
493490
return np.atleast_1d(np.asarray(values, dtype=np.float64))
494491

495492
@amplitudes.setter
496493
def amplitudes(self, values):
497494
values = np.asarray(values, dtype=np.float64)
498-
self.set_metadata("__amplitude", values)
499-
# Drop the legacy field if we encountered it while loading a STAR file.
500-
self._metadata.pop("_rlnAmplitude", None)
495+
self.set_metadata("_aspireAmplitude", values)
501496

502497
@property
503498
def angles(self):

src/aspire/source/relion.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,10 @@ def populate_metadata(self):
195195

196196
metadata = RelionStarFile(self.filepath).get_merged_data_block()
197197

198+
# Promote legacy _rlnAmplitude column to the ASPIRE-specific name.
199+
if "_rlnAmplitude" in metadata and "_aspireAmplitude" not in metadata:
200+
metadata["_aspireAmplitude"] = metadata.pop("_rlnAmplitude")
201+
198202
# particle locations are stored as e.g. '000001@first_micrograph.mrcs'
199203
# in the _rlnImageName column. here, we're splitting this information
200204
# so we can get the particle's index in the .mrcs stack as an int

src/aspire/utils/relion_interop.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
# of certain key fields used in the codebase,
1313
# which are originally read from Relion STAR files.
1414
relion_metadata_fields = {
15-
"__amplitude": float,
15+
"_aspireAmplitude": float,
16+
"_rlnAmplitude": float,
1617
"_rlnVoltage": float,
1718
"_rlnDefocusU": float,
1819
"_rlnDefocusV": float,

tests/test_simulation.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -882,8 +882,6 @@ def check_metadata(sim_src, relion_src):
882882
those in a RelionSource.
883883
"""
884884
for k, v in sim_src._metadata.items():
885-
if k.startswith("__"):
886-
continue
887885
try:
888886
np.testing.assert_array_equal(v, relion_src._metadata[k])
889887
except AssertionError:

0 commit comments

Comments
 (0)