X-GEN Manual, Section 5 USPLINE (pixel-to-cm mapping) File Formats

The USPLINE file (.uca) is a binary file that defines the mapping from pixels to Cartesian coordinates and back again. The actual algorithms involved in performing the forward and reverse transforms are rather complex and will not be described in detail here. The contents of the file are as follows:

typedef struct { /* complete calibration structure;	totals 512 bytes:*/
		short		v_detw, v_deth;	/* detector size in pixels */
		short		v_ncol, v_nrow;	/* #cols,rows for conversions*/
		short		v_ntrue;	/* # points actually observed*/
		short		v_midc;		/* middle column in array */
		short		v_midr;		/* middle row in array */
		short		v_nreg;		/* # of detector regions */
		float		v_axc, v_ayc;	/* absolute center in cm */
		float		v_rxc, v_ryc;	/* relative center in cm */
		float		v_xrcm, v_yrcm;	/* center offset in cm */
		float		v_xrpx, v_yrpx;	/* center offset in pixels */
		float		v_x0cm, v_y0cm;	/* origin in cm */
		float		v_x0px, v_y0px;	/* origin in pixels */
		float		v_rmsshift, v_maxshift; /* shifts on editing */
		float		v_frfu[110];	/* reserved for future use */
		/* These pointers are not read and written */
		CALPOINT	*v_cpt;		/* pointer to CALPOINTs */
		} VSPLINE;	/* total (not counting v_cpt): 512 bytes */

typedef struct { /* (X,Y) calibration point structure; totals   32 bytes:*/
		float	c_ptocx, c_ptocy;	/* pixel-to-cm conversions */
		float	c_ctopx, c_ctopy;	/* cm-to-pixel conversions */
		float	c_qec;			/* quantum-efficiency correc.*/
		float	c_frfu[2];		/* reserved for future use */
		u_char	c_ift;			/* point used in conversions */
		u_char	c_set, c_set;		/* internal to conversions */
		u_char	c_ucrfu;		/* reserved for future use */
		} CALPOINT;

Thus the length of the VSPLINE file is 512 + 32 * (v_ncol) * (v_nrow).

Usage: $WORK/<idname>.uca
Written from: calibrate, calibrate -j,
or copied from resource files
Edited in: edcal
Read in: "refine1", "refall", "refine", "integrate", "reduce", "scalek", etc.

Report bugs to Andy Howard at howard@iit.edu or 312-567-5881.