Skip to content

Instantly share code, notes, and snippets.

@chiahaoliu
chiahaoliu / pyFAI_integrate.py
Created March 23, 2017 16:30
pure pyFAI integration
"""example to do pure pyFAI integration"""
import os
import tifffile as tif
from pyFAI.azimuthalIntegrator import AzimuthalIntegrator
def pyFAI_integrate(data_dir, poni_fp, npt=1450, mask=None):
"""helper function to integrate a series of images inside data_dir with geometry and mask provided
Parameters
import os
import yaml
import numpy as np
import pandas as pd
import tifffile as tif
# same engine as xpdan
from xpdan.glbl import an_glbl
from xpdan.data_reduction import xpd_data_proc
w_dir = os.path.join(an_glbl.home, 'tiff_base')
@chiahaoliu
chiahaoliu / xpdacq_revisit.py
Created May 26, 2017 15:30
rethink about xpdacq
# whaht xpdacq has:
# dark frame:
# 1. dark frame before scan
# 2. update global dark frame information
# 3. inject associated dark frame information to each run
# tiff save (exporter):
# 1. read md from header to pull associated dark frame
# 2. dark subtraction
# 3. filename template
# device configuration :
def configure_pe1c(exp):
try:
from bluesky.plans import abs_set
except ImportError:
from bluesky.plan_stubs import abs_set
acq_time = pe1c.cam.acquire_time.get()
num_frame = np.ceil(exp/acq_time)
computed_exp = num_frame * acq_time
yield from abs_set(pe1c.images_per_set, num_frame, wait=True)
print("INFO: requested exposure time = {} - > computed exposure time"
@chiahaoliu
chiahaoliu / 1D_area_det_scan.py
Created March 17, 2018 18:09
1D line scan on area detector
import bluesky.plans as bp
import bluesky.preprocessors as bpp
from bluesky.callbacks import LiveTable
from xpdacq.beamtime import _configure_area_det
# configure to 5s
_configure_area_det(5)
from itertools import tee
import bluesky.plans as bp
import bluesky.plan_stubs as bps
import bluesky.preprocessors as bpp
from bluesky.run_engine import RunEngine
from bluesky.simulators import summarize_plan
from ophyd.sim import hw
ns = hw()
@chiahaoliu
chiahaoliu / customized_per_step.py
Last active June 11, 2018 20:07
customized per_step to collect light and dark frames at each motor point
import bluesky.plans as bp
import bluesky.plan_stubs as bps
from bluesky.utils import Msg, short_uid as _short_uid
from bluesky.preprocessors import subs_wrapper
from bluesky.simulators import summarize_plan
from bluesky.callbacks import LiveTable
# shutter configuration, change wrt beamline!
shutter = sh
@chiahaoliu
chiahaoliu / PE_test.py
Last active June 25, 2018 21:24
PE_det test with Julien_20180625
# command at bluesky level
test_det = pe3c
test_det.cam.acquire_time.put(1)
test_det.images_per_set.put(60)
RE(bp.count(1))
# reproduce the bug in xpdAcq
glbl['frame_acq_time'] = 1
glbl['dk_window'] = 0.1
@chiahaoliu
chiahaoliu / chris_cryostat_scanplan.py
Last active July 20, 2018 19:58 — forked from CJ-Wright/customized_per_step.py
customized per_step to collect light and dark frames at each motor point
# ACQ SIDE
# ======================================================
import bluesky.plans as bp
import bluesky.preprocessors as bpp
import bluesky.plan_stubs as bps
from bluesky.utils import Msg, short_uid as _short_uid
from bluesky.preprocessors import subs_wrapper
from bluesky.simulators import summarize_plan
from bluesky.callbacks import LiveTable
import time
import numpy as np
import bluesky.plans as bp
import bluesky.plan_stubs as bps
import bluesky.preprocessors as bpp
from bluesky.utils import Msg, short_uid as _short_uid
from bluesky.preprocessors import subs_wrapper
from bluesky.simulators import summarize_plan
from bluesky.callbacks import LiveTable
from xpdacq.xpdacq_conf import xpd_configuration