aloe.exp.calibpc module

aloe.exp.calibpc.PCstats(DataMatrix0, mean_dim, title)[source]

Statistics of pattern center positions

PCX, PCY, and DD should be constant along rows or colums respectively thus the stdDev along a column gives an error estimate

aloe.exp.calibpc.brkr_to_gnom(pcx, pcy, dd, aspect)[source]

convert Bruker PCX,PCY,DD,Aspect to gnomonic

aloe.exp.calibpc.brkr_to_pcxyz(pcbrkr, top_clip=0.0)[source]

convert Bruker pc coordinates PCX,PCY,DD into microns in detector system

aloe.exp.calibpc.calibratePC(ScanPointList, bcf_filename, mapinfo, XTilt=-20.0)[source]

This function calibrates the Projection Center from the current PC fit values in ScanPointList assuming that the step size and the sample tilt is known. This makes it possible to extrapolate all experimentally determined PC values to a common reference point (0,0) assuming a regular x-y grid of steps tilted by around the detector X-axis. The extrapolated reference PC values are then averaged to result in the PC estimation.

Notes: * the SEM beam X-scan is exactly parallel to the X-Tilt detector axis * Bruker: XTilt=(SampleTilt-90)-DetectorTilt (deg) * i.e. SampleTilt=70 usually leads to NEGATIVE XTilts!!! * the method produces PC values in a tilted rectangular region * no trapezoidal/projective distortion is considered

aloe.exp.calibpc.calibratePC_BRKR(pcdata, mapinfo, XTilt=-20.0)[source]

This function calibrates the Projection Center from the current PC fit values in ScanPointList assuming that the step size and the sample tilt is known. This makes it possible to extrapolate all experimentally determined PC values to a common reference point (0,0) assuming a regular x-y grid of steps tilted by around the detector X-axis. The extrapolated reference PC values are then averaged to result in the PC estimation.

Notes: * the SEM beam X-scan is exactly parallel to the X-Tilt detector axis * Bruker: XTilt=(SampleTilt-90)-DetectorTilt (deg) * i.e. SampleTilt=70 usually leads to NEGATIVE XTilts!!! * the method produces PC values in a tilted rectangular region * no trapezoidal/projective distortion is considered

aloe.exp.calibpc.make_interpolated_PCdata(xc_beam_indices, xc_pc_coords, nwidth, nheight, outfile='')[source]

interpolates between projection center values, input assumes column vectors

Radial Basis Functions for interpolation of scattered data: http://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html

aloe.exp.calibpc.make_map_indices(w, h)[source]

makes 3 1D arrays of x and y, z=1 indices of a map w*h for projective transformations

aloe.exp.calibpc.make_projective_PCdata(A, MapWidth, MapHeight, outfile=None)[source]

apply projective transformation matrix to all map indices

TODO: 1. save projection center values for direct import into DynamicS
  1. save PC values in HDF5
aloe.exp.calibpc.normrange(Y)[source]

normalize the range of the Y values

aloe.exp.calibpc.pcxyz_to_brkr(pc_xyz, top_clip=0.0)[source]

Convert detector pc coordinates into Bruker convention

aloe.exp.calibpc.pcxyz_to_gnom(pc_xyz, top_clip=0.0)[source]

convert detector pc coordinates to gnomonic projection values

aloe.exp.calibpc.plotPC(secondary, fit, pc3=None, units='Bruker', plotdir='')[source]

plots the pattern center data and shows parameters

aloe.exp.calibpc.project_points(pts_src_3d, h)[source]

make 2D plane-projected points from homography matrix