Skip to content

Commit bfdc0d6

Browse files
committed
precompute target symmetry to allow caching of near-reduced settings
1 parent 86191a7 commit bfdc0d6

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

xfel/ui/command_line/plot_uc_cloud_from_experiments.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
# LIBTBX_PRE_DISPATCHER_INCLUDE_SH export BOOST_ADAPTBX_FPE_DEFAULT=1
66

77
from dials.util import show_mail_on_error
8-
from libtbx.phil import parse
8+
from iotbx.phil import parse
9+
from cctbx import crystal
910

1011
help_message = """
1112
Plot a cloud of unit cell dimensions from stills. Provide either a combined.expt
@@ -92,25 +93,28 @@ def run(self):
9293
if params.write_gnuplot_cloud:
9394
gnuplot = open("uccloud.dat", 'w')
9495

96+
if params and params.move_near.enable and params.move_near.unit_cell is not None:
97+
# Create reference symmetry object
98+
self.ref_sym = crystal.symmetry(
99+
unit_cell=params.move_near.unit_cell,
100+
space_group_symbol=str(params.move_near.space_group)
101+
)
102+
103+
95104
def get_info(experiment, params=None):
96105
# Get the crystal symmetry
97106
crystal_sym = experiment.crystal
98107

99108
# Apply move_near transformation if enabled
100109
if params and params.move_near.enable and params.move_near.unit_cell is not None:
101-
from cctbx import crystal
102110
# Create reference symmetry object
103-
ref_sym = crystal.symmetry(
104-
unit_cell=params.move_near.unit_cell,
105-
space_group_symbol=str(params.move_near.space_group)
106-
)
107111
# Create experiment's symmetry object
108112
exp_sym = crystal.symmetry(
109113
unit_cell=crystal_sym.get_unit_cell(),
110114
space_group_symbol=str(crystal_sym.get_space_group().type().lookup_symbol())
111115
)
112116
# Find nearest setting
113-
moved_sym = ref_sym.nearest_setting(
117+
moved_sym = self.ref_sym.nearest_setting(
114118
exp_sym,
115119
length_tolerance=params.move_near.relative_length_tolerance,
116120
angle_tolerance=params.move_near.absolute_angle_tolerance_deg

0 commit comments

Comments
 (0)