Feature #1897
closed
remove mirror in general refinement upload particle parameter file
Added by Anchi Cheng over 12 years ago.
Updated about 9 years ago.
Description
To avoid having different mirror orientation from different packages. If we do this early and put it in 2.1, we can avoid cleaning up database later.
two questions on this:
1. What if we simplify the general parameter text file to just include 5 values (phi, theta, psi, shx, shy). The rest will be optional, i.e. they will be read in, but if not present, they will be ignored.
2. Does this mean that we DO NOT want to save the mirror in the database at all, in which case we should remove the mirror in EMAN upload and take care of the Euler conversion? OR, should we keep EMAN as is, and just worry about Xmipp?
I can take care of this by Monday.
What else do you have in the parameter text file except mirror that affects the Euler conversion? I think we should remove mirror in all upload, including EMAN to avoid confusion. We should have EMAN Euler converted without mirror and saved in database as such. EMAN conversion functions to others can default mirror to False. This way the old data can still be used.
the other things are:
- reference number (to account for whether it's a multi-model or single model, i.e. always 1 for single model refienemnts) ... this one we should probably keep
- class number - corresponds to the class number from projection-matching class averaging (this one would be meaningless in Frealign
- quality - different for every package
- refine_keep - whether or not the particle was discarded
- post_refine_keep - historically used in coran
I can keep it as is, just put error handling so that only the Eulers, shifts, and reference number is needed (the latter defaulted to 1 for single-model refinements)
I'm also running an EMAN refinement now on synthetic data to figure out the mirror issue. The conversion should be the same as I had already written, just with different matrix conversions.
argh! I didn't realize we don't actually have all the required functions ... apparently, we don't have a function for going from matrix -> EMAN Eulers. I put in a few functions in apEulerCalc (going to / from Transform matrix in EMAN), including the one for finding equivalent Euler angles without the mirroring operation. I tested the latter using synthetic data on an EMAN refinement. It seems to be correct. One step (the phi) was verified empirically.
I tested EMAN refinement & upload here: /ami/data15/appion/11jun03a/recon/test_recon1
I also committed relevant changes for uploadXmippRefine.py and uploadXmippML3DRefine.py, but have not tested them.
I found minor bugs ;) I fixed them as best as possible, but it wouldn't be bad to do a more thorough testing, including conversions between packages.
- Status changed from Assigned to In Code Review
- Assignee changed from Dmitry Lyumkis to Anchi Cheng
- Status changed from In Code Review to Closed
Also available in: Atom
PDF