In [53]:
%matplotlib inline
from functions import read_data,cropped,createIm,normalization,saveIm,binning,oscillation,createIm_fft
In [54]:
path_ob = 'yokeFolder/data/spin_ON'
Sample data path:
In [55]:
path_im = 'yokeFolder/data/spin_OFF'
Dark current data path:
In [56]:
path_dc = 'yokeFolder/data/dc'
In [57]:
bin_fac = None
ROI for normalization:
In [58]:
norm_param = [590,170,70,295]
ROI for cropping:
In [59]:
crop_param = [150,150,665,600]
ROI for pixels intensity oscillation as a function of the step:
In [60]:
oscillationParam = [540,540,20,20]
Number of periods in the phase scan:
In [61]:
numberPeriods = 1
In [62]:
im,ob = read_data(path_im,path_ob,path_dc)
Cropping:
In [63]:
im,ob = cropped(im,ob,*crop_param)
Normalizing:
In [64]:
im,ob=normalization(im,ob,*norm_param)
In [65]:
oscillation(im,ob,*oscillationParam,repeatedPeriod=False)
Binning:
In [66]:
im, ob = binning(im,ob,bin_fac)
Creating:
In [67]:
ti, dpci, dfi, vis_map = createIm(im,ob,numberPeriods)
Save folder:
In [68]:
folder='yokeFolder/recIm'
Images label:
In [69]:
name='SquareYoke45deg'
In [70]:
saveIm(ti, dpci, dfi, vis_map,name=name,folder=folder,overWrite=True)
Some packages:
In [71]:
import scipy
import numpy as np
from astropy.io import fits
import scipy.signal as signal
Create my dpci conversion function:
In [72]:
def pixelWiseDPC(dpci,p2um=4,d1cm=1.94,lambdaAmstr=4.1):
dphi_over_dxPixel = (p2um*1e-3)/(lambdaAmstr*1e-7*d1cm*10)*dpci
dphi_over_dxPixel /= 2
return dphi_over_dxPixel
def pixelWisePC(dpciUnit,pixelConversion=0.11):
dphi_over_dxPixel = np.array([scipy.integrate.cumtrapz(line*pixelConversion,initial=0) for line in dpciUnit])
dphi_over_dxPixelREV = np.fliplr(np.array([scipy.integrate.cumtrapz(line*pixelConversion,initial=0) for line in np.fliplr(dpciUnit)]))
return (np.abs(dphi_over_dxPixel)+np.abs(dphi_over_dxPixelREV))/2
Apply my new function:
In [73]:
pCim = pixelWisePC(dpci)
fits.writeto(folder+'/pci_'+name+'.fits',pCim,clobber=True)
radius = 15
pCim = signal.medfilt2d(pCim,radius)
fits.writeto(folder+'/pci_'+name+'.fits',pCim,clobber=True)