chiahaoliu / xpdAcquireFuncs

helper functions to XPD computer
0 stars 0 forks source link

new temperature scans logic #25

Open sbillinge opened 8 years ago

sbillinge commented 8 years ago

Have temperature scans call get_light_images instead of vice versa.

chiahaoliu commented 8 years ago

number of exposures is fixed under bluesky scan logic, namely, if we set a temperature scan (AbsScan) with 20 steps, then this scan will only have 20 exposures. To avoid saturation on detector, we usually can't have exposure time more than 0.2s or so, however we also need better statistics. I think solution to this problem is to assign number of exposures to pe1.num_image and combine (possibly) tiff-squashing or careful summing.

A explicit usescae could be:

  1. 0.2 second exposure will saturate detector
  2. we found a sum of 10 images with 0.2 second exposure time each gave desired statistics

Solution can be:

temperature_scan = bluesky.scan.AbsScan([pe1], cs700, 300, 320, 20) get_light_images(num=10, exposure_time=0.2, scan_def = temperature_scan) pe1.num_images = 10 pe1.acquire_time = 0.2 ...... Then we should have a temperature scan with 10 steps and each step we have 10 exposures. Image data pulled out from this header will be a slightly scaring at first glance: (20, 10, 2048, 2048) but it is actually tractable as we processed them properly.

I included this logic to get_light_images() before we left XPD, but I need more tests to make sure nothing goes wrong.

sbillinge commented 8 years ago

I want a completely different design. I would like it strucured something like this:

def tseries(total_exposure_per_point,start_temp,stop_temp,temp_step_size,frame_exposure=0.2,comments=['']): set a bunch of metadata including comments loop over temperatures: get_light_images(total_exposure_per_point,frame_exposure) unset metadata

chiahaoliu commented 8 years ago

Just found there is a very rich bluesky documentation at http://nsls-ii.github.io/bluesky/custom-scans.html

writing a customized scan that simulates our temperature scan logic is feasible and plus they can be in the same header, the same uid. ( could be in different ones as well, we have control). I will try to play it only if we have spare beamtime tomorrow.

sbillinge commented 8 years ago

wonderful! Just what I was going to ask the computer guys for, and they beat us to it!

S

On Thu, Nov 12, 2015 at 12:49 AM, Timothy Liu notifications@github.com wrote:

Just found there is a very rich bluesky documentation at http://nsls-ii.github.io/bluesky/custom-scans.html

writing a customized scan that simulates our temperature scan logic is feasible and plus they can be in the same header, the same uid. ( could be in different ones as well, we have control). I will try to play it only if we have spare beamtime tomorrow.

— Reply to this email directly or view it on GitHub https://github.com/chiahaoliu/xpdAcquireFuncs/issues/25#issuecomment-156009041 .

Prof. Simon Billinge Applied Physics & Applied Mathematics Columbia University 500 West 120th Street Room 200 Mudd, MC 4701 New York, NY 10027 Tel: (212)-854-2918 (o) 851-7428 (lab)

Condensed Matter Physics and Materials Science Dept. Brookhaven National Laboratory P.O. Box 5000 Upton, NY 11973-5000 (631)-344-5661

email: sb2896 at columbia dot edu home: http:// http://nirt.pa.msu.edu/bgsite.apam.columbia.edu/