diff options
Diffstat (limited to 'spectro/xrga.h')
-rw-r--r-- | spectro/xrga.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/spectro/xrga.h b/spectro/xrga.h new file mode 100644 index 0000000..0605fc8 --- /dev/null +++ b/spectro/xrga.h @@ -0,0 +1,86 @@ + +#ifndef XRGA_H +#define XRGA_H + +/* + * This file contains resources to translate colors to/from + * X-Rites XRGA calibration standard. This only applies to + * reflective measurements from historical Gretag-Macbeth & X-Rite + * instruments, and current X-Rite instruments. + */ + +/* + * Author: Graeme W. Gill + * Date: 9/2/2016 + * Version: 1.00 + * + * Copyright 2016 Graeme W. Gill + * All rights reserved. + * + * This material is licenced under the GNU GENERAL PUBLIC LICENSE Version 2 or later :- + * see the License2.txt file for licencing details. + */ + +#ifdef __cplusplus + extern "C" { +#endif + +typedef enum { + xcalstd_nonpol = 0, /* Unpolarized */ + xcalstd_pol = 1 /* Polarized */ +} xcalpol; + +/* Apply a conversion from one calibration standard to another to an xspect. */ +void xspec_convert_xrga(xspect *dst, xspect *srcp, xcalpol pol, xcalstd dsp, xcalstd ssp); + +/* Apply a conversion from one calibration standard to another to an array of ipatch's */ +void ipatch_convert_xrga(ipatch *vals, int nvals, + xcalpol pol, xcalstd dsp, xcalstd ssp, int clamp); + +/* Macro returns true if a conversion is needed */ +#define XCALSTD_NEEDED(ssp, dsp) \ + ((ssp) != xcalstd_native && (dsp) != xcalstd_native && (dsp) != (ssp)) + +#ifdef __cplusplus + } +#endif + +#endif /* XRGA_H */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |