4545 < h1 > Source code for dxtbx.model.crystal</ h1 > < div class ="highlight "> < pre >
4646< span > </ span > < span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> __future__</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> annotations</ span >
4747
48+ < span class ="kn "> import</ span > < span class ="w "> </ span > < span class ="nn "> iotbx.phil</ span >
4849< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> cctbx.sgtbx</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> space_group</ span > < span class ="k "> as</ span > < span class ="n "> SG</ span >
4950< span class ="kn "> from</ span > < span class ="w "> </ span > < span class ="nn "> scitbx</ span > < span class ="w "> </ span > < span class ="kn "> import</ span > < span class ="n "> matrix</ span >
5051
@@ -61,6 +62,25 @@ <h1>Source code for dxtbx.model.crystal</h1><div class="highlight"><pre>
6162 < span class ="n "> MosaicCrystalSauter2014</ span > < span class ="p "> ,</ span >
6263 < span class ="p "> )</ span >
6364
65+ < span class ="n "> crystal_phil_scope</ span > < span class ="o "> =</ span > < span class ="n "> iotbx</ span > < span class ="o "> .</ span > < span class ="n "> phil</ span > < span class ="o "> .</ span > < span class ="n "> parse</ span > < span class ="p "> (</ span >
66+ < span class ="w "> </ span > < span class ="sd "> """</ span >
67+ < span class ="sd "> crystal</ span >
68+ < span class ="sd "> .expert_level = 1</ span >
69+ < span class ="sd "> .short_caption = "Crystal overrides"</ span >
70+ < span class ="sd "> {</ span >
71+ < span class ="sd "> unit_cell = None</ span >
72+ < span class ="sd "> .type = unit_cell</ span >
73+
74+ < span class ="sd "> A_matrix = None</ span >
75+ < span class ="sd "> .type = floats(size=9)</ span >
76+ < span class ="sd "> .help = "The crystal setting A=UB matrix. If set, this will override the unit cell."</ span >
77+
78+ < span class ="sd "> space_group = None</ span >
79+ < span class ="sd "> .type = space_group</ span >
80+ < span class ="sd "> }</ span >
81+ < span class ="sd "> """</ span >
82+ < span class ="p "> )</ span >
83+
6484
6585< div class ="viewcode-block " id ="CrystalFactory ">
6686< a class ="viewcode-back " href ="../../../documentation/library_reference/dxtbx/crystal.html#dxtbx.model.crystal.CrystalFactory "> [docs]</ a >
@@ -178,6 +198,41 @@ <h1>Source code for dxtbx.model.crystal</h1><div class="highlight"><pre>
178198 < span class ="n "> _c</ span > < span class ="o "> =</ span > < span class ="n "> rotate_mosflm_to_imgCIF</ span > < span class ="o "> *</ span > < span class ="n "> c</ span >
179199
180200 < span class ="k "> return</ span > < span class ="n "> Crystal</ span > < span class ="p "> (</ span > < span class ="n "> _a</ span > < span class ="p "> ,</ span > < span class ="n "> _b</ span > < span class ="p "> ,</ span > < span class ="n "> _c</ span > < span class ="p "> ,</ span > < span class ="n "> space_group</ span > < span class ="o "> =</ span > < span class ="n "> space_group</ span > < span class ="p "> )</ span > </ div >
201+
202+
203+ < div class ="viewcode-block " id ="CrystalFactory.from_phil ">
204+ < a class ="viewcode-back " href ="../../../documentation/library_reference/dxtbx/crystal.html#dxtbx.model.crystal.CrystalFactory.from_phil "> [docs]</ a >
205+ < span class ="nd "> @staticmethod</ span >
206+ < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> from_phil</ span > < span class ="p "> (</ span >
207+ < span class ="n "> params</ span > < span class ="p "> :</ span > < span class ="n "> iotbx</ span > < span class ="o "> .</ span > < span class ="n "> phil</ span > < span class ="o "> .</ span > < span class ="n "> scope_extract</ span > < span class ="p "> ,</ span >
208+ < span class ="n "> reference</ span > < span class ="p "> :</ span > < span class ="n "> Crystal</ span > < span class ="o "> |</ span > < span class ="kc "> None</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
209+ < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="n "> Crystal</ span > < span class ="p "> :</ span >
210+ < span class ="w "> </ span > < span class ="sd "> """</ span >
211+ < span class ="sd "> Convert the phil parameters into a crystal model</ span >
212+ < span class ="sd "> """</ span >
213+
214+ < span class ="n "> all_params</ span > < span class ="o "> =</ span > < span class ="p "> [</ span >
215+ < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> unit_cell</ span > < span class ="p "> ,</ span >
216+ < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> A_matrix</ span > < span class ="p "> ,</ span >
217+ < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> space_group</ span > < span class ="p "> ,</ span >
218+ < span class ="p "> ]</ span >
219+ < span class ="k "> if</ span > < span class ="n "> all_params</ span > < span class ="o "> .</ span > < span class ="n "> count</ span > < span class ="p "> (</ span > < span class ="kc "> None</ span > < span class ="p "> )</ span > < span class ="o "> ==</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> all_params</ span > < span class ="p "> ):</ span >
220+ < span class ="k "> return</ span > < span class ="kc "> None</ span >
221+
222+ < span class ="k "> if</ span > < span class ="n "> reference</ span > < span class ="ow "> is</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
223+ < span class ="n "> crystal</ span > < span class ="o "> =</ span > < span class ="n "> Crystal</ span > < span class ="p "> ((</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="mi "> 0</ span > < span class ="p "> ),</ span > < span class ="p "> (</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="mi "> 0</ span > < span class ="p "> ),</ span > < span class ="p "> (</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="p "> ),</ span > < span class ="s2 "> "P1"</ span > < span class ="p "> )</ span >
224+ < span class ="k "> else</ span > < span class ="p "> :</ span >
225+ < span class ="n "> crystal</ span > < span class ="o "> =</ span > < span class ="n "> reference</ span >
226+ < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> reset_scan_points</ span > < span class ="p "> ()</ span >
227+
228+ < span class ="k "> if</ span > < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> unit_cell</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
229+ < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> set_unit_cell</ span > < span class ="p "> (</ span > < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> unit_cell</ span > < span class ="p "> )</ span >
230+ < span class ="k "> if</ span > < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> A_matrix</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
231+ < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> set_A</ span > < span class ="p "> (</ span > < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> A_matrix</ span > < span class ="p "> )</ span >
232+ < span class ="k "> if</ span > < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> space_group</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
233+ < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> set_space_group</ span > < span class ="p "> (</ span > < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> crystal</ span > < span class ="o "> .</ span > < span class ="n "> space_group</ span > < span class ="o "> .</ span > < span class ="n "> group</ span > < span class ="p "> ())</ span >
234+
235+ < span class ="k "> return</ span > < span class ="n "> crystal</ span > </ div >
181236</ div >
182237
183238</ pre > </ div >
0 commit comments