tomography / tomoscan

tomography scan script
https://tomoscan.readthedocs.io
Other
1 stars 11 forks source link

Adding post scan functionality #126

Open kematusik opened 3 years ago

kematusik commented 3 years ago

We typically carry out a post-scan after the main tomography acquisition in which we perform a tomography at the same parameters as the main scan but with a larger step angle; this allows us to correct for thermal drift. It would be useful to have the data saved to the same HDF file as the flat, dark, and main tomography data by appropriately setting the FrameType PV. Because of this, a collect_post_scan() method would need to be called as part of the fly_scan() method upstream of end_scan(). If it may be useful for others, is it possible to add this functionality into tomoscan.py? Otherwise, I can overwrite the fly_scan() method if it doesn't make sense to integrate a post scan option.

decarlof commented 3 years ago

@kematusik does this mean that you will end up with an hdf file containing /data, /theta, /data1, /theta1 ... plus the same meta data about instrument and same /dark /flat? We were facing something similar with Tomostream but then we decided to keep fly_scan() as is and handle the save of multiple scans with the hdf plugin and generate one file for each scan. There is some duplication (meta data and flat/dark) but has the advantage to generate standard hdf that we can process with the same tool (see tomopy-cli). I am not sure if this applies to your case but if you already know how many data sets you want to collect and the list of angles ahead, you can configure a single scan and do the same we did with tomostream. For collecting data at arbitrary angular location you can do something similar to the interlaced scan.

kematusik commented 3 years ago

@decarlof we would ideally have fields /data, /data_flat, /data_dark, and /data_post in one HDF file since the post scan is a necessary component of the main tomography dataset so we would like to keep them together; as part of our recon routine, we correct our tomography data for thermal drift using the shorter post scan. Since it seems like this utility may be niche for our purposes, I can overwrite the fly_scan() method.