unblur - specify dose for summed frames
Forums
Dear all,
I'd like to try the unblur program, but some of my frames were collected as a sum of two or more individual frames.
"""
frames 1-5 are 1 frame
frame 6 is sum of 3
frame 7 is sum of 4 frames
"""
Is there a way of specifying a different dose for each frame in the movie?
Thanks,
Martin Turk
Hi Martin, The answer to this
Hi Martin,
The answer to this question is essentially no, there is no way to specify a different exposure for each frame in the movie.
If, you really really wanted to try and do this, you could probably cheat the system by doing something similar to the following, but it would be a bit of work :-
1. Align your original movie using ublur without any exposure filtering.
2. For each frame, duplicate it n times where n is the number of original frames summed to make this frame. Divide all values in the duplicated frame by n.
3. Duplicate each line in the shifts.txt file that unblur outputs n times.
4. Run summovie, to make the exposure filtered sum specifying the original dose per frame when the movie was taken.
Tim
Hi Tim,thanks for the reply.
In reply to Hi Martin, The answer to this by timgrant
Hi Tim,
thanks for the reply. It's a nice workaround what you suggest. Unfortunately I have a sum of 3 and 4 frames, which complicates things further. Would a cheat to apply a higher dose filter to particular frames work... what I've had in mind is a different dose_start and dose_end for the summed frames.
to unblur.f90 around line 640
"""
! Dose filtering
if (apply_dose_filter%value) then
do image_counter = 1,number_of_frames_per_movie%value
call my_electron_dose%ApplyDoseFilterToImage(image_stack(image_counter), &
dose_start=((image_counter-1)*exposure_per_frame%value) + pre_exposure_amount%value, &
dose_finish=(image_counter*exposure_per_frame%value) + pre_exposure_amount%value, &
pixel_size=pixel_size%value)
enddo
endif
"""
I don't know if sth else breaks downstream if one does this (in ElectronDoses)?
Thanks,
Martin
Hi Martin, I think the way I
In reply to Hi Tim,thanks for the reply. by martin
Hi Martin,
I think the way I suggested will still work, i.e. you would end up with a stack that looked like this :-
frame1
frame2
frame3
frame4
frame5
frame6 / 3
frame6 / 3
frame6 / 3
frame7 / 4
frame7 / 4
frame7 / 4
frame7 / 4
Then you make the equivalent shift file, and use summovie.
If you wanted to hack the code, that would also work. I assume you were thinking of checking what the frame number is in that loop and changing the exposure directly?
If you hack the dose filtering at that point, and are using restore noise power - you also need to hack the noise restore code around line 755, or the restoration will not work correctly.
Cheers,
Tim
Hi Tim, great :) I'll try
In reply to Hi Martin, I think the way I by timgrant
Hi Tim,
great :) I'll try what you suggested.
yes, the idea was adding an if statement in that loop around L640 for frames 6 and 7.
thanks a lot!
Best,
Martin