Feature #2230
closed
Speed up particle stack making without pre-manipulation on selected frame range on ddstack
Added by Anchi Cheng almost 12 years ago.
Updated almost 9 years ago.
Description
To select range of frames in ddstack movie and integrated into an image and then crop particle out currently involves saving integrated image in its full size and the cropping is done on the saved integrated image. It was designed so that ctf correction could be done on the whole image in the pipeline manner. However, for Frealign and Relion where ctf correction is refined within its own program, it would need no pre-boxing manipulation. Without the pre-manipulation, the boxing can be done much faster using a sum of memory mapping of part of the ddstack.
- Status changed from New to In Code Review
- Assignee set to Neil Voss
r17371 breaks up boxParticlesFromImage so that I can add alternative path.
r17372 contains the main function.
Neil please assign David Veesler to test.
Testing:
Makes particle stack without ctf correction and with total frame not equal to zero on particle selection from ddstack image. You should see a speed increase while boxing.
- Assignee changed from Neil Voss to Anchi Cheng
Hi Anchi,
I am worried about the line:
apDisplay.printMsg(' crop range of (x,y)=(%d,%d) to (%d,%d)' % (x1,y1,x2-1,y2-1))
While it is good for debugging, if you make a large stack it would quickly flood the log file.
Everything else looks good, so pass to David when done. Is the mmap significantly faster?
Neil,
Thanks for the concern. Shall we make a printDebug function in apDisplay?
Yes, mmap is faster when it comes to boxing particle of ddstack because they are 4kx4kx(number_of_frames).
Probably not a bad idea to have some sort of print debug. In my apCtf files, I have placed a True/False debug variable at the top of the file. So, a more elegant solution would be nice.
- Status changed from In Code Review to In Test
- Assignee changed from Anchi Cheng to David Veesler
Next time when you create particle stack from frames fewer than the total number you acquired, this would take effect. Check if it prints out too much stuff.
- Status changed from In Test to Closed
- Target version set to Appion/Leginon 3.1.0
Also available in: Atom
PDF