Bug #76
closed
wrong boxsize saved to the database after maximum-likelihood alignment
Added by Dmitry Lyumkis almost 15 years ago.
Updated over 14 years ago.
Affected Version:
Appion/Leginon 2.0.1
Description
I ran maximum-likelihood alignment on a stack. When it binned the stack, it made it 72x72 pixels. However, the entry that was saved in the database said that the stack was actually 73x73 pixels. This created an error in the feature analysis portion. I had to manually changed the database entry.
I think it is more wrong boxsize created. Boxsizes MUST BE a multiple of 2.
- Status changed from Assigned to New
- Status changed from New to In Code Review
- Assignee set to Amber Herold
read box size from file, rather than calculate it.
- Assignee changed from Amber Herold to Neil Voss
Does this fail gracefully if the file does not exist? I see it checks for the file right above and gives an error message, but what happens if you try to use it when it is not there?
- Assignee changed from Neil Voss to Amber Herold
- % Done changed from 0 to 100
That file is the main result of the program; without that file the program failed to work.
I've setup appion to have three print functions:
- apDisplay.printMsg() -- prints a message to stderr uncolored and continue
- apDisplay.printWarning() -- prints a warning to stderr colored yellow and continue
- apDisplay.printError() -- prints a error to stderr colored red and then exit the program with status 1
Like you said it checks for the file and printError print the error message and dies. The imagicfile is generated by the createAlignedStacks() function. I noticed several inconsistencies in how I named the file, so I fixed those in r13266.
- Status changed from In Code Review to In Test
- Assignee changed from Amber Herold to Dmitry Lyumkis
- Target version set to Appion/Leginon 2.0.0
- Status changed from In Test to Merge
- Assignee changed from Dmitry Lyumkis to Amber Herold
- Affected Version set to Appion/Leginon 2.0.1
I ran the script trying to reproduce the initial bug, i.e. setting boxsize to 72, and it worked fine.
I have checked the script now, and it gets the boxsize from the actual boxsize associated with the file, rather than calculating it out, as Neil pointed out in the above thread.
I also added a check on the clipsize (if clipsize % 2 == 1: clipsize += 1) into line 375-6 of maxlikeAlignment.py to make sure that the stack is not being clipped to an odd value. This may have been the initial reason for the failure.
- Assignee changed from Amber Herold to Dmitry Lyumkis
- Priority changed from Normal to Urgent
Dmitry, in addition to the error checking that you mentioned in r14391, you are also printing out the clipsize and commented out some clipsize error checking. Was this intentional?
- Assignee changed from Dmitry Lyumkis to Amber Herold
my mistake, that's been in my local sandbox and was accidentally checked in.
r14397 (for some reason, revisions are not showing up in this issue correctly)
- Status changed from Merge to Closed
Not merging the % 2 fix to the branch. The Neils changes are in the branch since they we submitted before the branch was created.
Also available in: Atom
PDF