This is the dufy Reference Manual, version 0.4.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 17:58:30 2024 GMT+0.
dufy/dufy.asd
dufy/src/package.lisp
dufy/core/core/package.lisp
dufy/core/core/cmf-data.lisp
dufy/core/core/spectrum.lisp
dufy/core/core/illuminants-data.lisp
dufy/core/core/xyz.lisp
dufy/core/core/rgb.lisp
dufy/core/core/lab-and-luv.lisp
dufy/core/core/cat.lisp
dufy/core/core/builtin-rgbspaces.lisp
dufy/core/core/deltae.lisp
dufy/internal/internal/package.lisp
dufy/internal/internal/utilities.lisp
dufy/internal/internal/arithmetic.lisp
dufy/internal/internal/matrix.lisp
dufy/internal/internal/colorspace.lisp
dufy/internal/internal/mb-line.lisp
dufy/munsell/munsell/package.lisp
dufy/munsell/munsell/y-to-value-data.lisp
dufy/munsell/munsell/renotation-data.lisp
dufy/munsell/munsell/inversed-renotation-data.lisp
dufy/munsell/munsell/fundamental.lisp
dufy/munsell/munsell/convert.lisp
dufy/munsell/munsell/invert.lisp
dufy/hsluv/hsluv/package.lisp
dufy/hsluv/hsluv/hsluv.lisp
The main system appears first, followed by any subsystem dependency.
dufy
Color library for Common Lisp
Hugo I.
MIT
0.4.1
dufy/core
(system).
dufy/munsell
(system).
dufy/hsluv
(system).
dufy/core
Hugo I.
MIT
alexandria
(system).
dufy/internal
(system).
core
(module).
dufy/internal
Common definitions not exported in the main package
Hugo I.
MIT
alexandria
(system).
internal
(module).
Modules are listed depth-first from the system components tree.
dufy/dat
dufy
(system).
ciede2000-test-data.csv
(file).
fl3.x.tsv
(file).
dufy/core/core
dufy/core
(system).
package.lisp
(file).
cmf-data.lisp
(file).
spectrum.lisp
(file).
illuminants-data.lisp
(file).
xyz.lisp
(file).
rgb.lisp
(file).
lab-and-luv.lisp
(file).
cat.lisp
(file).
builtin-rgbspaces.lisp
(file).
deltae.lisp
(file).
dufy/internal/internal
dufy/internal
(system).
package.lisp
(file).
utilities.lisp
(file).
arithmetic.lisp
(file).
matrix.lisp
(file).
colorspace.lisp
(file).
mb-line.lisp
(file).
dufy/munsell/munsell
dufy/munsell
(system).
package.lisp
(file).
y-to-value-data.lisp
(file).
renotation-data.lisp
(file).
inversed-renotation-data.lisp
(file).
fundamental.lisp
(file).
convert.lisp
(file).
invert.lisp
(file).
dufy/hsluv/hsluv
dufy/hsluv
(system).
package.lisp
(file).
hsluv.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
dufy/dufy.asd
dufy/src/package.lisp
dufy/core/core/package.lisp
dufy/core/core/cmf-data.lisp
dufy/core/core/spectrum.lisp
dufy/core/core/illuminants-data.lisp
dufy/core/core/xyz.lisp
dufy/core/core/rgb.lisp
dufy/core/core/lab-and-luv.lisp
dufy/core/core/cat.lisp
dufy/core/core/builtin-rgbspaces.lisp
dufy/core/core/deltae.lisp
dufy/internal/internal/package.lisp
dufy/internal/internal/utilities.lisp
dufy/internal/internal/arithmetic.lisp
dufy/internal/internal/matrix.lisp
dufy/internal/internal/colorspace.lisp
dufy/internal/internal/mb-line.lisp
dufy/munsell/munsell/package.lisp
dufy/munsell/munsell/y-to-value-data.lisp
dufy/munsell/munsell/renotation-data.lisp
dufy/munsell/munsell/inversed-renotation-data.lisp
dufy/munsell/munsell/fundamental.lisp
dufy/munsell/munsell/convert.lisp
dufy/munsell/munsell/invert.lisp
dufy/hsluv/hsluv/package.lisp
dufy/hsluv/hsluv/hsluv.lisp
dufy/core/core/cmf-data.lisp
core
(module).
+cmf-table-cie1931+
(special variable).
+cmf-table-cie1964+
(special variable).
dufy/core/core/spectrum.lisp
core
(module).
+obs-cie1931+
(special variable).
+obs-cie1964+
(special variable).
approximate-spectrum
(function).
bb-spectrum
(function).
flat-spectrum
(function).
gen-illum-d-spectrum
(function).
gen-spectrum
(function).
illuminant
(structure).
illuminant-no-spd-p
(function).
illuminant-observer
(reader).
(setf illuminant-observer)
(writer).
illuminant-spectrum
(reader).
(setf illuminant-spectrum)
(writer).
illuminant-x
(reader).
(setf illuminant-x)
(writer).
illuminant-xy
(function).
illuminant-z
(reader).
(setf illuminant-z)
(writer).
make-illuminant
(compiler macro).
make-illuminant
(function).
make-observer
(function).
no-spd-error
(condition).
observer
(structure).
observer-begin-wl
(reader).
(setf observer-begin-wl)
(writer).
observer-cmf
(reader).
(setf observer-cmf)
(writer).
observer-cmf-x
(reader).
(setf observer-cmf-x)
(writer).
observer-cmf-y
(reader).
(setf observer-cmf-y)
(writer).
observer-cmf-z
(reader).
(setf observer-cmf-z)
(writer).
observer-end-wl
(reader).
(setf observer-end-wl)
(writer).
optimal-spectrum-peak
(function).
optimal-spectrum-trough
(function).
print-object
(method).
%make-illuminant
(function).
%make-observer
(function).
%spectrum-to-xyz
(function).
+s0-table+
(special variable).
+s1-table+
(special variable).
+s2-table+
(special variable).
calc-to-spectrum-matrix
(function).
cond-illuminant
(reader method).
(setf cond-illuminant)
(writer method).
copy-observer
(function).
empty-spectrum
(function).
illuminant-p
(function).
illuminant-to-spectrum-matrix
(reader).
(setf illuminant-to-spectrum-matrix)
(writer).
make-illum-d-spectrum-array
(function).
observer-cmf-table
(reader).
(setf observer-cmf-table)
(writer).
observer-p
(function).
spectrum-function
(type).
dufy/core/core/illuminants-data.lisp
core
(module).
+illum-a+
(special variable).
+illum-c+
(special variable).
+illum-d50+
(special variable).
+illum-d65+
(special variable).
+illum-e+
(special variable).
+illum-c-table+
(special variable).
dufy/core/core/xyz.lisp
core
(module).
spectrum-to-xyz
(function).
xyy-to-xyz
(function).
xyz-to-spectrum
(function).
xyz-to-xyy
(function).
dufy/core/core/rgb.lisp
core
(module).
+srgb+
(special variable).
delinearize
(function).
dequantize
(function).
gen-delinearizer
(function).
gen-linearizer
(function).
hsl-to-lrgb
(function).
hsl-to-qrgb
(function).
hsl-to-rgb
(function).
hsl-to-rgbpack
(function).
hsl-to-xyz
(function).
hsv-to-lrgb
(function).
hsv-to-qrgb
(function).
hsv-to-rgb
(function).
hsv-to-rgbpack
(function).
hsv-to-xyz
(function).
linearize
(function).
lrgb-out-of-gamut-p
(function).
lrgb-to-hsl
(function).
lrgb-to-hsv
(function).
lrgb-to-qrgb
(function).
lrgb-to-rgb
(function).
lrgb-to-rgbpack
(function).
lrgb-to-xyz
(function).
make-rgbspace
(function).
qrgb-out-of-gamut-p
(function).
qrgb-to-hsl
(function).
qrgb-to-hsv
(function).
qrgb-to-lrgb
(function).
qrgb-to-rgb
(function).
qrgb-to-rgbpack
(function).
qrgb-to-xyz
(function).
quantize
(function).
rgb-out-of-gamut-p
(function).
rgb-to-hsl
(function).
rgb-to-hsv
(function).
rgb-to-lrgb
(function).
rgb-to-qrgb
(function).
rgb-to-rgbpack
(function).
rgb-to-xyz
(function).
rgbpack-to-hsl
(function).
rgbpack-to-hsv
(function).
rgbpack-to-lrgb
(function).
rgbpack-to-qrgb
(function).
rgbpack-to-rgb
(function).
rgbpack-to-xyz
(function).
rgbspace
(structure).
rgbspace-bit-per-channel
(reader).
(setf rgbspace-bit-per-channel)
(writer).
rgbspace-delinearizer
(reader).
(setf rgbspace-delinearizer)
(writer).
rgbspace-from-xyz-matrix
(reader).
(setf rgbspace-from-xyz-matrix)
(writer).
rgbspace-illuminant
(reader).
(setf rgbspace-illuminant)
(writer).
rgbspace-linearizer
(reader).
(setf rgbspace-linearizer)
(writer).
rgbspace-lmax
(reader).
(setf rgbspace-lmax)
(writer).
rgbspace-lmin
(reader).
(setf rgbspace-lmin)
(writer).
rgbspace-max
(reader).
(setf rgbspace-max)
(writer).
rgbspace-min
(reader).
(setf rgbspace-min)
(writer).
rgbspace-normal
(reader).
(setf rgbspace-normal)
(writer).
rgbspace-qmax
(reader).
(setf rgbspace-qmax)
(writer).
rgbspace-to-xyz-matrix
(reader).
(setf rgbspace-to-xyz-matrix)
(writer).
rgbspace-xb
(reader).
(setf rgbspace-xb)
(writer).
rgbspace-xg
(reader).
(setf rgbspace-xg)
(writer).
rgbspace-xr
(reader).
(setf rgbspace-xr)
(writer).
rgbspace-yb
(reader).
(setf rgbspace-yb)
(writer).
rgbspace-yg
(reader).
(setf rgbspace-yg)
(writer).
rgbspace-yr
(reader).
(setf rgbspace-yr)
(writer).
xyz-to-hsl
(function).
xyz-to-hsv
(function).
xyz-to-lrgb
(function).
xyz-to-qrgb
(function).
xyz-to-rgb
(function).
xyz-to-rgbpack
(function).
%make-rgbspace
(function).
delinearize-srgb
(function).
linearize-srgb
(function).
qrgba-to-rgba
(function).
qrgba-to-rgbapack
(function).
rgba-to-qrgba
(function).
rgba-to-rgbapack
(function).
rgbapack-to-qrgba
(function).
rgbapack-to-rgba
(function).
rgbspace-/length
(reader).
(setf rgbspace-/length)
(writer).
rgbspace-length
(reader).
(setf rgbspace-length)
(writer).
rgbspace-length/qmax-float
(reader).
(setf rgbspace-length/qmax-float)
(writer).
rgbspace-p
(function).
rgbspace-qmax-float
(reader).
(setf rgbspace-qmax-float)
(writer).
rgbspace-qmax-float/length
(reader).
(setf rgbspace-qmax-float/length)
(writer).
dufy/core/core/lab-and-luv.lisp
core
(module).
lab-to-lchab
(function).
lab-to-xyz
(function).
lchab-to-lab
(function).
lchab-to-xyz
(function).
lchuv-to-luv
(function).
lchuv-to-xyz
(function).
lstar-to-y
(function).
luv-to-lchuv
(function).
luv-to-xyz
(function).
xyz-to-lab
(function).
xyz-to-lchab
(function).
xyz-to-lchuv
(function).
xyz-to-luv
(function).
calc-uvprime
(function).
calc-uvprime-from-xyz
(function).
function-f
(function).
lab-to-xyy
(function).
lchab-to-xyy
(function).
xyy-to-lab
(function).
xyy-to-lchab
(function).
y-to-lstar
(function).
dufy/core/core/cat.lisp
core
(module).
+bradford+
(special variable).
+cat02+
(special variable).
+cat97s-revised+
(special variable).
+cmccat2000+
(special variable).
+cmccat97+
(special variable).
+von-kries+
(special variable).
+xyz-scaling+
(special variable).
cat
(structure).
cat-inv-matrix
(reader).
(setf cat-inv-matrix)
(writer).
cat-matrix
(reader).
(setf cat-matrix)
(writer).
copy-rgbspace
(function).
define-cat-function
(macro).
gen-cat-function
(function).
gen-rgbspace-changer
(function).
lms-to-xyz
(function).
make-cat
(function).
xyz-to-lms
(function).
%make-cat
(function).
calc-cat-matrix
(function).
calc-cat-matrix-for-lrgb
(function).
cat-p
(function).
copy-cat
(function).
dufy/core/core/builtin-rgbspaces.lisp
core
(module).
+adobe+
(special variable).
+adobe-16+
(special variable).
+bg-srgb-10+
(special variable).
+bg-srgb-12+
(special variable).
+bg-srgb-16+
(special variable).
+cie-rgb+
(special variable).
+ntsc1953+
(special variable).
+pal/secam+
(special variable).
+prophoto+
(special variable).
+prophoto-12+
(special variable).
+prophoto-16+
(special variable).
+scrgb-16+
(special variable).
+scrgb-nl+
(special variable).
+wide-gamut+
(special variable).
delinearize-prophoto
(function).
delinearize-scrgb-nl
(function).
linearize-prophoto
(function).
linearize-scrgb-nl
(function).
dufy/core/core/deltae.lisp
core
(module).
lab-deltae00
(function).
lab-deltae94
(function).
lab-deltaeab
(function).
lab-deltaecmc
(function).
qrgb-deltae00
(function).
qrgb-deltae94
(function).
qrgb-deltaeab
(function).
qrgb-deltaecmc
(function).
xyz-deltae00
(function).
xyz-deltae94
(function).
xyz-deltaeab
(function).
xyz-deltaecmc
(function).
dufy/internal/internal/utilities.lisp
internal
(module).
*dat-dir-path*
(special variable).
call-with-profiling
(function).
dotimes-unroll
(macro).
internal-real-time-after-gc
(macro).
nlet
(macro).
print-make-array
(function).
time-after-gc
(macro).
time-median
(macro).
tuple
(type).
with-ensuring-type
(macro).
with-profiling
(macro).
array-to-list
(function).
internal-real-time
(macro).
dufy/internal/internal/arithmetic.lisp
internal
(module).
+360/two-pi+
(constant).
+two-pi/360+
(constant).
circular-clamp
(function).
circular-lerp
(function).
circular-lerp-loose
(function).
circular-member
(function).
circular-nearer
(function).
degree-to-radian
(function).
nearly-equal
(function).
nearly-equal-values
(macro).
nearly<=
(function).
nearly=
(function).
pow
(macro).
radian-to-degree
(function).
square
(function).
two-pi
(constant).
dufy/internal/internal/matrix.lisp
internal
(module).
+empty-matrix+
(special variable).
+identity-matrix+
(special variable).
invert-matrix
(function).
matrix33
(type).
multiply-mat-mat
(function).
multiply-mat-vec
(function).
multiply-matrices
(function).
determinant
(function).
dufy/internal/internal/colorspace.lisp
internal
(module).
colorspace
(structure).
defconverter
(macro).
defconverters
(macro).
define-colorspace
(macro).
define-functional
(macro).
define-primary-converter
(macro).
(setf documentation)
(method).
documentation
(method).
extend-functional
(macro).
functional
(structure).
primary-converter
(structure).
%make-functional
(function).
%make-primary-converter
(function).
*colorspace-table*
(special variable).
*functional-table*
(special variable).
*primary-converter-table*
(special variable).
add-functional
(function).
add-primary-converter
(function).
circularize
(function).
collect-aux-arg-names
(function).
collect-aux-args
(function).
collect-key-arg-key-names
(function).
collect-key-arg-names
(function).
collect-key-args
(function).
colorspace-arg-types
(reader).
(setf colorspace-arg-types)
(writer).
colorspace-args
(reader).
(setf colorspace-args)
(writer).
colorspace-documentation
(reader).
(setf colorspace-documentation)
(writer).
colorspace-name
(reader).
(setf colorspace-name)
(writer).
colorspace-neighbors
(reader).
(setf colorspace-neighbors)
(writer).
colorspace-p
(function).
colorspace-return-types
(reader).
(setf colorspace-return-types)
(writer).
colorspace=
(function).
contains-allow-other-keys-p
(function).
copy-colorspace
(function).
copy-functional
(function).
copy-primary-converter
(function).
copy-queue
(function).
dequeue
(function).
duplicate-aux-and-key-p
(function).
enqueue
(function).
ensure-colorspace-name
(function).
expand-conversion-form
(function).
find-colorspace
(function).
find-converter-path
(function).
find-duplicates
(function).
functional-allow-other-keys
(reader).
(setf functional-allow-other-keys)
(writer).
functional-aux-args
(reader).
(setf functional-aux-args)
(writer).
functional-colorspace
(reader).
(setf functional-colorspace)
(writer).
functional-dimension
(reader).
(setf functional-dimension)
(writer).
functional-fname
(reader).
(setf functional-fname)
(writer).
functional-key-args
(reader).
(setf functional-key-args)
(writer).
functional-p
(function).
functional-term
(reader).
(setf functional-term)
(writer).
gen-args
(function).
gen-aux-args
(function).
gen-converter-name
(function).
gen-key-args
(function).
gen-local-key-args
(function).
gen-passed-args
(function).
get-allow-other-keys
(function).
get-arg-types
(function).
get-args
(function).
get-aux-args
(function).
get-aux-names
(function).
get-functional
(function).
get-key-arg-key-names
(function).
get-key-arg-names
(function).
get-key-args
(function).
get-neighbors
(function).
(setf get-neighbors)
(function).
get-primary-converter
(function).
get-primary-converter-name
(function).
get-return-types
(function).
key-arg=
(function).
lambda-list=
(function).
let-converter
(macro).
make-colorspace
(function).
make-functional
(function).
make-primary-converter
(function).
make-queue
(function).
primary-converter-allow-other-keys
(reader).
(setf primary-converter-allow-other-keys)
(writer).
primary-converter-aux-args
(reader).
(setf primary-converter-aux-args)
(writer).
primary-converter-from-colorspace
(reader).
(setf primary-converter-from-colorspace)
(writer).
primary-converter-key-args
(reader).
(setf primary-converter-key-args)
(writer).
primary-converter-name
(reader).
(setf primary-converter-name)
(writer).
primary-converter-p
(function).
primary-converter-to-colorspace
(reader).
(setf primary-converter-to-colorspace)
(writer).
print-hash-table
(function).
queue
(structure).
queue-list
(reader).
(setf queue-list)
(writer).
queue-p
(function).
queue-tail
(reader).
(setf queue-tail)
(writer).
dufy/internal/internal/mb-line.lisp
internal
(module).
make-mb-line
(function).
mb-line-distance-from-origin
(function).
mb-line-ray-intersect-distance
(function).
copy-mb-line
(function).
mb-line
(structure).
mb-line-intercept
(reader).
(setf mb-line-intercept)
(writer).
mb-line-p
(function).
mb-line-slope
(reader).
(setf mb-line-slope)
(writer).
dufy/munsell/munsell/y-to-value-data.lisp
munsell
(module).
+y-to-munsell-value-table+
(special variable).
dufy/munsell/munsell/renotation-data.lisp
munsell
(module).
+max-chroma-table+
(special variable).
+max-chroma-table-dark+
(special variable).
+mrd-table-ch+
(special variable).
+mrd-table-ch-dark+
(special variable).
+mrd-table-l+
(special variable).
+mrd-table-l-dark+
(special variable).
dufy/munsell/munsell/inversed-renotation-data.lisp
munsell
(module).
+inversed-mrd-table-hc+
(special variable).
+inversed-mrd-table-v+
(special variable).
dufy/munsell/munsell/fundamental.lisp
munsell
(module).
*most-positive-non-large-double-float*
(special variable).
invalid-mhvc-error
(condition).
lstar-to-munsell-value
(function).
max-chroma-in-mrd
(function).
mhvc-out-of-mrd-p
(function).
mhvc-to-munsell
(function).
munsell-out-of-mrd-p
(function).
munsell-to-mhvc
(function).
munsell-value-to-lstar
(function).
munsell-value-to-y
(function).
munsellspec-parse-error
(condition).
non-negative-non-large-double-float
(type).
y-to-munsell-value
(function).
*bit-length-of-most-positive-fixnum*
(special variable).
cond-chroma
(reader method).
(setf cond-chroma)
(writer method).
cond-spec
(reader method).
(setf cond-spec)
(writer method).
cond-value
(reader method).
(setf cond-value)
(writer method).
evaluate-error-of-y-to-munsell-value
(function).
mhvc-invalid-p
(function).
qrgb-to-munsell-value
(function).
dufy/munsell/munsell/convert.lisp
munsell
(module).
mhvc-to-lchab-illum-c
(function).
mhvc-to-xyz
(function).
mhvc-to-xyz-illum-c
(function).
munsell-to-lchab-illum-c
(function).
munsell-to-xyz
(function).
munsell-to-xyz-illum-c
(function).
c-to-d65
(function).
calc-isochroma-ovoid
(function).
calc-isochroma-ovoid-integer-case
(function).
max-chroma-lchab
(function).
mhvc-to-lchab-all-integer-case
(function).
mhvc-to-lchab-general-case
(function).
mhvc-to-lchab-value-chroma-integer-case
(function).
mhvc-to-lchab-value-integer-case
(function).
mhvc-to-xyy
(function).
munsell-to-xyy
(function).
dufy/munsell/munsell/invert.lisp
munsell
(module).
large-approximation-error
(condition).
lchab-to-mhvc-illum-c
(function).
lchab-to-munsell-illum-c
(function).
xyz-to-mhvc
(function).
xyz-to-mhvc-illum-c
(function).
xyz-to-munsell
(function).
xyz-to-munsell-illum-c
(function).
cartesian-to-mhvc
(function).
circular-delta
(function).
cond-message
(reader method).
(setf cond-message)
(writer method).
d65-to-c
(function).
invert-mhvc-to-lchab
(function).
lchab-to-mhvc-all-integer-case
(function).
lchab-to-mhvc-general-case
(function).
lchab-to-mhvc-l-c-integer-case
(function).
lchab-to-mhvc-l-integer-case
(function).
mhvc-to-cartesian
(function).
predict-lchab-to-mhvc
(function).
dufy/hsluv/hsluv/hsluv.lisp
hsluv
(module).
hpluv-to-lchuv
(function).
hpluv-to-lrgb
(function).
hpluv-to-qrgb
(function).
hpluv-to-rgb
(function).
hpluv-to-rgbpack
(function).
hpluv-to-xyz
(function).
hsluv-to-lchuv
(function).
hsluv-to-lrgb
(function).
hsluv-to-qrgb
(function).
hsluv-to-rgb
(function).
hsluv-to-rgbpack
(function).
hsluv-to-xyz
(function).
lchuv-to-hpluv
(function).
lchuv-to-hsluv
(function).
lrgb-to-hpluv
(function).
lrgb-to-hsluv
(function).
qrgb-to-hpluv
(function).
qrgb-to-hsluv
(function).
rgb-to-hpluv
(function).
rgb-to-hsluv
(function).
rgbpack-to-hpluv
(function).
rgbpack-to-hsluv
(function).
xyz-to-hpluv
(function).
xyz-to-hsluv
(function).
+cieluv-epsilon+
(constant).
+cieluv-kappa+
(constant).
+m-bounds+
(constant).
get-cieluv-bounds
(function).
max-chroma-for-lh
(function).
max-safe-chroma-for-l
(function).
Packages are listed by definition order.
dufy/munsell
dufy-munsell
alexandria
.
cl-ppcre
.
common-lisp
.
dufy/core
.
dufy/internal
.
dufy
.
*most-positive-non-large-double-float*
(special variable).
invalid-mhvc-error
(condition).
large-approximation-error
(condition).
lchab-to-mhvc-illum-c
(function).
lchab-to-munsell-illum-c
(function).
lstar-to-munsell-value
(function).
max-chroma-in-mrd
(function).
mhvc-out-of-mrd-p
(function).
mhvc-to-lchab-illum-c
(function).
mhvc-to-munsell
(function).
mhvc-to-xyz
(function).
mhvc-to-xyz-illum-c
(function).
munsell-out-of-mrd-p
(function).
munsell-to-lchab-illum-c
(function).
munsell-to-mhvc
(function).
munsell-to-xyz
(function).
munsell-to-xyz-illum-c
(function).
munsell-value-to-lstar
(function).
munsell-value-to-y
(function).
munsellspec-parse-error
(condition).
non-negative-non-large-double-float
(type).
xyz-to-mhvc
(function).
xyz-to-mhvc-illum-c
(function).
xyz-to-munsell
(function).
xyz-to-munsell-illum-c
(function).
y-to-munsell-value
(function).
*bit-length-of-most-positive-fixnum*
(special variable).
+inversed-mrd-table-hc+
(special variable).
+inversed-mrd-table-v+
(special variable).
+max-chroma-table+
(special variable).
+max-chroma-table-dark+
(special variable).
+mrd-table-ch+
(special variable).
+mrd-table-ch-dark+
(special variable).
+mrd-table-l+
(special variable).
+mrd-table-l-dark+
(special variable).
+y-to-munsell-value-table+
(special variable).
c-to-d65
(function).
calc-isochroma-ovoid
(function).
calc-isochroma-ovoid-integer-case
(function).
cartesian-to-mhvc
(function).
circular-delta
(function).
cond-chroma
(generic reader).
(setf cond-chroma)
(generic writer).
cond-message
(generic reader).
(setf cond-message)
(generic writer).
cond-spec
(generic reader).
(setf cond-spec)
(generic writer).
cond-value
(generic reader).
(setf cond-value)
(generic writer).
d65-to-c
(function).
evaluate-error-of-y-to-munsell-value
(function).
invert-mhvc-to-lchab
(function).
lchab-to-mhvc-all-integer-case
(function).
lchab-to-mhvc-general-case
(function).
lchab-to-mhvc-l-c-integer-case
(function).
lchab-to-mhvc-l-integer-case
(function).
max-chroma-lchab
(function).
mhvc-invalid-p
(function).
mhvc-to-cartesian
(function).
mhvc-to-lchab-all-integer-case
(function).
mhvc-to-lchab-general-case
(function).
mhvc-to-lchab-value-chroma-integer-case
(function).
mhvc-to-lchab-value-integer-case
(function).
mhvc-to-xyy
(function).
munsell-to-xyy
(function).
predict-lchab-to-mhvc
(function).
qrgb-to-munsell-value
(function).
dufy/core
dufy-core
alexandria
.
common-lisp
.
dufy/internal
.
+adobe+
(special variable).
+adobe-16+
(special variable).
+bg-srgb-10+
(special variable).
+bg-srgb-12+
(special variable).
+bg-srgb-16+
(special variable).
+bradford+
(special variable).
+cat02+
(special variable).
+cat97s-revised+
(special variable).
+cie-rgb+
(special variable).
+cmccat2000+
(special variable).
+cmccat97+
(special variable).
+illum-a+
(special variable).
+illum-c+
(special variable).
+illum-d50+
(special variable).
+illum-d65+
(special variable).
+illum-e+
(special variable).
+ntsc1953+
(special variable).
+obs-cie1931+
(special variable).
+obs-cie1964+
(special variable).
+pal/secam+
(special variable).
+prophoto+
(special variable).
+prophoto-12+
(special variable).
+prophoto-16+
(special variable).
+scrgb-16+
(special variable).
+scrgb-nl+
(special variable).
+srgb+
(special variable).
+von-kries+
(special variable).
+wide-gamut+
(special variable).
+xyz-scaling+
(special variable).
approximate-spectrum
(function).
bb-spectrum
(function).
cat
(structure).
cat-inv-matrix
(reader).
(setf cat-inv-matrix)
(writer).
cat-matrix
(reader).
(setf cat-matrix)
(writer).
copy-rgbspace
(function).
define-cat-function
(macro).
delinearize
(function).
dequantize
(function).
flat-spectrum
(function).
gen-cat-function
(function).
gen-delinearizer
(function).
gen-illum-d-spectrum
(function).
gen-linearizer
(function).
gen-rgbspace-changer
(function).
gen-spectrum
(function).
hsl-to-lrgb
(function).
hsl-to-qrgb
(function).
hsl-to-rgb
(function).
hsl-to-rgbpack
(function).
hsl-to-xyz
(function).
hsv-to-lrgb
(function).
hsv-to-qrgb
(function).
hsv-to-rgb
(function).
hsv-to-rgbpack
(function).
hsv-to-xyz
(function).
illuminant
(structure).
illuminant-no-spd-p
(function).
illuminant-observer
(reader).
(setf illuminant-observer)
(writer).
illuminant-spectrum
(reader).
(setf illuminant-spectrum)
(writer).
illuminant-x
(reader).
(setf illuminant-x)
(writer).
illuminant-xy
(function).
illuminant-z
(reader).
(setf illuminant-z)
(writer).
lab-deltae00
(function).
lab-deltae94
(function).
lab-deltaeab
(function).
lab-deltaecmc
(function).
lab-to-lchab
(function).
lab-to-xyz
(function).
lchab-to-lab
(function).
lchab-to-xyz
(function).
lchuv-to-luv
(function).
lchuv-to-xyz
(function).
linearize
(function).
lms-to-xyz
(function).
lrgb-out-of-gamut-p
(function).
lrgb-to-hsl
(function).
lrgb-to-hsv
(function).
lrgb-to-qrgb
(function).
lrgb-to-rgb
(function).
lrgb-to-rgbpack
(function).
lrgb-to-xyz
(function).
lstar-to-y
(function).
luv-to-lchuv
(function).
luv-to-xyz
(function).
make-cat
(function).
make-illuminant
(compiler macro).
make-illuminant
(function).
make-observer
(function).
make-rgbspace
(function).
no-spd-error
(condition).
observer
(structure).
observer-begin-wl
(reader).
(setf observer-begin-wl)
(writer).
observer-cmf
(reader).
(setf observer-cmf)
(writer).
observer-cmf-x
(reader).
(setf observer-cmf-x)
(writer).
observer-cmf-y
(reader).
(setf observer-cmf-y)
(writer).
observer-cmf-z
(reader).
(setf observer-cmf-z)
(writer).
observer-end-wl
(reader).
(setf observer-end-wl)
(writer).
optimal-spectrum-peak
(function).
optimal-spectrum-trough
(function).
qrgb-deltae00
(function).
qrgb-deltae94
(function).
qrgb-deltaeab
(function).
qrgb-deltaecmc
(function).
qrgb-out-of-gamut-p
(function).
qrgb-to-hsl
(function).
qrgb-to-hsv
(function).
qrgb-to-lrgb
(function).
qrgb-to-rgb
(function).
qrgb-to-rgbpack
(function).
qrgb-to-xyz
(function).
quantize
(function).
rgb-out-of-gamut-p
(function).
rgb-to-hsl
(function).
rgb-to-hsv
(function).
rgb-to-lrgb
(function).
rgb-to-qrgb
(function).
rgb-to-rgbpack
(function).
rgb-to-xyz
(function).
rgbpack-to-hsl
(function).
rgbpack-to-hsv
(function).
rgbpack-to-lrgb
(function).
rgbpack-to-qrgb
(function).
rgbpack-to-rgb
(function).
rgbpack-to-xyz
(function).
rgbspace
(structure).
rgbspace-bit-per-channel
(reader).
(setf rgbspace-bit-per-channel)
(writer).
rgbspace-delinearizer
(reader).
(setf rgbspace-delinearizer)
(writer).
rgbspace-from-xyz-matrix
(reader).
(setf rgbspace-from-xyz-matrix)
(writer).
rgbspace-illuminant
(reader).
(setf rgbspace-illuminant)
(writer).
rgbspace-linearizer
(reader).
(setf rgbspace-linearizer)
(writer).
rgbspace-lmax
(reader).
(setf rgbspace-lmax)
(writer).
rgbspace-lmin
(reader).
(setf rgbspace-lmin)
(writer).
rgbspace-max
(reader).
(setf rgbspace-max)
(writer).
rgbspace-min
(reader).
(setf rgbspace-min)
(writer).
rgbspace-normal
(reader).
(setf rgbspace-normal)
(writer).
rgbspace-qmax
(reader).
(setf rgbspace-qmax)
(writer).
rgbspace-to-xyz-matrix
(reader).
(setf rgbspace-to-xyz-matrix)
(writer).
rgbspace-xb
(reader).
(setf rgbspace-xb)
(writer).
rgbspace-xg
(reader).
(setf rgbspace-xg)
(writer).
rgbspace-xr
(reader).
(setf rgbspace-xr)
(writer).
rgbspace-yb
(reader).
(setf rgbspace-yb)
(writer).
rgbspace-yg
(reader).
(setf rgbspace-yg)
(writer).
rgbspace-yr
(reader).
(setf rgbspace-yr)
(writer).
spectrum-to-xyz
(function).
xyy-to-xyz
(function).
xyz-deltae00
(function).
xyz-deltae94
(function).
xyz-deltaeab
(function).
xyz-deltaecmc
(function).
xyz-to-hsl
(function).
xyz-to-hsv
(function).
xyz-to-lab
(function).
xyz-to-lchab
(function).
xyz-to-lchuv
(function).
xyz-to-lms
(function).
xyz-to-lrgb
(function).
xyz-to-luv
(function).
xyz-to-qrgb
(function).
xyz-to-rgb
(function).
xyz-to-rgbpack
(function).
xyz-to-spectrum
(function).
xyz-to-xyy
(function).
%make-cat
(function).
%make-illuminant
(function).
%make-observer
(function).
%make-rgbspace
(function).
%spectrum-to-xyz
(function).
+cmf-table-cie1931+
(special variable).
+cmf-table-cie1964+
(special variable).
+illum-c-table+
(special variable).
+s0-table+
(special variable).
+s1-table+
(special variable).
+s2-table+
(special variable).
calc-cat-matrix
(function).
calc-cat-matrix-for-lrgb
(function).
calc-to-spectrum-matrix
(function).
calc-uvprime
(function).
calc-uvprime-from-xyz
(function).
cat-p
(function).
cond-illuminant
(generic reader).
(setf cond-illuminant)
(generic writer).
copy-cat
(function).
copy-observer
(function).
delinearize-prophoto
(function).
delinearize-scrgb-nl
(function).
delinearize-srgb
(function).
empty-spectrum
(function).
function-f
(function).
illuminant-p
(function).
illuminant-to-spectrum-matrix
(reader).
(setf illuminant-to-spectrum-matrix)
(writer).
lab-to-xyy
(function).
lchab-to-xyy
(function).
linearize-prophoto
(function).
linearize-scrgb-nl
(function).
linearize-srgb
(function).
make-illum-d-spectrum-array
(function).
observer-cmf-table
(reader).
(setf observer-cmf-table)
(writer).
observer-p
(function).
qrgba-to-rgba
(function).
qrgba-to-rgbapack
(function).
rgba-to-qrgba
(function).
rgba-to-rgbapack
(function).
rgbapack-to-qrgba
(function).
rgbapack-to-rgba
(function).
rgbspace-/length
(reader).
(setf rgbspace-/length)
(writer).
rgbspace-length
(reader).
(setf rgbspace-length)
(writer).
rgbspace-length/qmax-float
(reader).
(setf rgbspace-length/qmax-float)
(writer).
rgbspace-p
(function).
rgbspace-qmax-float
(reader).
(setf rgbspace-qmax-float)
(writer).
rgbspace-qmax-float/length
(reader).
(setf rgbspace-qmax-float/length)
(writer).
spectrum-function
(type).
xyy-to-lab
(function).
xyy-to-lchab
(function).
y-to-lstar
(function).
dufy/hsluv
alexandria
.
common-lisp
.
dufy/core
.
dufy/internal
.
dufy
.
hpluv-to-lchuv
(function).
hpluv-to-lrgb
(function).
hpluv-to-qrgb
(function).
hpluv-to-rgb
(function).
hpluv-to-rgbpack
(function).
hpluv-to-xyz
(function).
hsluv-to-lchuv
(function).
hsluv-to-lrgb
(function).
hsluv-to-qrgb
(function).
hsluv-to-rgb
(function).
hsluv-to-rgbpack
(function).
hsluv-to-xyz
(function).
lchuv-to-hpluv
(function).
lchuv-to-hsluv
(function).
lrgb-to-hpluv
(function).
lrgb-to-hsluv
(function).
qrgb-to-hpluv
(function).
qrgb-to-hsluv
(function).
rgb-to-hpluv
(function).
rgb-to-hsluv
(function).
rgbpack-to-hpluv
(function).
rgbpack-to-hsluv
(function).
xyz-to-hpluv
(function).
xyz-to-hsluv
(function).
+cieluv-epsilon+
(constant).
+cieluv-kappa+
(constant).
+m-bounds+
(constant).
get-cieluv-bounds
(function).
max-chroma-for-lh
(function).
max-safe-chroma-for-l
(function).
dufy/internal
alexandria
.
common-lisp
.
*dat-dir-path*
(special variable).
+360/two-pi+
(constant).
+empty-matrix+
(special variable).
+identity-matrix+
(special variable).
+two-pi/360+
(constant).
call-with-profiling
(function).
circular-clamp
(function).
circular-lerp
(function).
circular-lerp-loose
(function).
circular-member
(function).
circular-nearer
(function).
colorspace
(structure).
defconverter
(macro).
defconverters
(macro).
define-colorspace
(macro).
define-functional
(macro).
define-primary-converter
(macro).
degree-to-radian
(function).
dotimes-unroll
(macro).
extend-functional
(macro).
functional
(structure).
internal-real-time-after-gc
(macro).
invert-matrix
(function).
make-mb-line
(function).
matrix33
(type).
mb-line-distance-from-origin
(function).
mb-line-ray-intersect-distance
(function).
multiply-mat-mat
(function).
multiply-mat-vec
(function).
multiply-matrices
(function).
nearly-equal
(function).
nearly-equal-values
(macro).
nearly<=
(function).
nearly=
(function).
nlet
(macro).
pow
(macro).
primary-converter
(structure).
print-make-array
(function).
radian-to-degree
(function).
square
(function).
time-after-gc
(macro).
time-median
(macro).
tuple
(type).
two-pi
(constant).
with-ensuring-type
(macro).
with-profiling
(macro).
%make-functional
(function).
%make-primary-converter
(function).
*colorspace-table*
(special variable).
*functional-table*
(special variable).
*primary-converter-table*
(special variable).
add-functional
(function).
add-primary-converter
(function).
array-to-list
(function).
circularize
(function).
collect-aux-arg-names
(function).
collect-aux-args
(function).
collect-key-arg-key-names
(function).
collect-key-arg-names
(function).
collect-key-args
(function).
colorspace-arg-types
(reader).
(setf colorspace-arg-types)
(writer).
colorspace-args
(reader).
(setf colorspace-args)
(writer).
colorspace-documentation
(reader).
(setf colorspace-documentation)
(writer).
colorspace-name
(reader).
(setf colorspace-name)
(writer).
colorspace-neighbors
(reader).
(setf colorspace-neighbors)
(writer).
colorspace-p
(function).
colorspace-return-types
(reader).
(setf colorspace-return-types)
(writer).
colorspace=
(function).
contains-allow-other-keys-p
(function).
copy-colorspace
(function).
copy-functional
(function).
copy-mb-line
(function).
copy-primary-converter
(function).
copy-queue
(function).
dequeue
(function).
determinant
(function).
duplicate-aux-and-key-p
(function).
enqueue
(function).
ensure-colorspace-name
(function).
expand-conversion-form
(function).
find-colorspace
(function).
find-converter-path
(function).
find-duplicates
(function).
functional-allow-other-keys
(reader).
(setf functional-allow-other-keys)
(writer).
functional-aux-args
(reader).
(setf functional-aux-args)
(writer).
functional-colorspace
(reader).
(setf functional-colorspace)
(writer).
functional-dimension
(reader).
(setf functional-dimension)
(writer).
functional-fname
(reader).
(setf functional-fname)
(writer).
functional-key-args
(reader).
(setf functional-key-args)
(writer).
functional-p
(function).
functional-term
(reader).
(setf functional-term)
(writer).
gen-args
(function).
gen-aux-args
(function).
gen-converter-name
(function).
gen-key-args
(function).
gen-local-key-args
(function).
gen-passed-args
(function).
get-allow-other-keys
(function).
get-arg-types
(function).
get-args
(function).
get-aux-args
(function).
get-aux-names
(function).
get-functional
(function).
get-key-arg-key-names
(function).
get-key-arg-names
(function).
get-key-args
(function).
get-neighbors
(function).
(setf get-neighbors)
(function).
get-primary-converter
(function).
get-primary-converter-name
(function).
get-return-types
(function).
internal-real-time
(macro).
key-arg=
(function).
lambda-list=
(function).
let-converter
(macro).
make-colorspace
(function).
make-functional
(function).
make-primary-converter
(function).
make-queue
(function).
mb-line
(structure).
mb-line-intercept
(reader).
(setf mb-line-intercept)
(writer).
mb-line-p
(function).
mb-line-slope
(reader).
(setf mb-line-slope)
(writer).
primary-converter-allow-other-keys
(reader).
(setf primary-converter-allow-other-keys)
(writer).
primary-converter-aux-args
(reader).
(setf primary-converter-aux-args)
(writer).
primary-converter-from-colorspace
(reader).
(setf primary-converter-from-colorspace)
(writer).
primary-converter-key-args
(reader).
(setf primary-converter-key-args)
(writer).
primary-converter-name
(reader).
(setf primary-converter-name)
(writer).
primary-converter-p
(function).
primary-converter-to-colorspace
(reader).
(setf primary-converter-to-colorspace)
(writer).
print-hash-table
(function).
queue
(structure).
queue-list
(reader).
(setf queue-list)
(writer).
queue-p
(function).
queue-tail
(reader).
(setf queue-tail)
(writer).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Adobe RGB (1998), 8-bit per channel
Adobe RGB (1998), 16-bit per channel.
bg-sRGB, 10-bit per channel http://www.color.org/chardata/rgb/bgsrgb.xalter
bg-sRGB, 12-bit per channel, http://www.color.org/chardata/rgb/bgsrgb.xalter
bg-sRGB, 16-bit per channel, http://www.color.org/chardata/rgb/bgsrgb.xalter
Note that the CAT function returned by (gen-cat-function ... :cat +cat02+) is different from the one in CIECAM02 since the latter is non-linear.
Fairchild, Mark D. (2001)."A Revision of CIECAM97s for Practical Applications" http://rit-mcsl.org/fairchild//PDFs/PAP10.pdf
CIE RGB (1931), no gamma-correction, 8-bit per channel.
Used instead of NIL
NTSC RGB, Rec. ITU-R BT.470-6, System M, 8-bit per channel. http://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-6-199811-S!!PDF-E.pdf
CIE 1931 Standard Colorimetric Observer (2-degree).
CIE 1964 Standard Colorimetric Observer (10-degree).
PAL/SECAM RGB, Rec. ITU-R BT.470-6, 8-bit per channel. http://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-6-199811-S!!PDF-E.pdf
Prophoto RGB (also known as ROMM RGB), 8-bit per channel, http://www.color.org/ROMMRGB.pdf
Prophoto RGB (also known as ROMM RGB), 12-bit per channel, http://www.color.org/ROMMRGB.pdf
Prophoto RGB (also known as ROMM RGB), 16-bit per channel, http://www.color.org/ROMMRGB.pdf
scRGB(16), IEC 61966-2-2:2003 http://www.color.org/chardata/rgb/scrgb.xalter
scRGB-nl, IEC 61966-2-2:2003 http://www.color.org/chardata/rgb/scrgb-nl.xalter
Wide-gamut RGB, 8-bit per channel.
Generates and defines a converter function from FROM-COLORSPACE to
TO-COLORSPACE automatically with linking primary converters.
These secondary converters are not inlined by default, different from primary converters. You can manually declare (inline <name>) to inline them. (Declared as sb-ext:maybe-inline on SBCL.)
Generates and defines converter functions from each color space in FROM-COLORSPACES into each color space in TO-COLORSPACES.
DEFINE-macro of GEN-CAT-FUNCTION.
(define-cat-function d65-to-e +illum-d65+ +illum-e+)
(d65-to-e 0.9504d0 1.0d0 1.0889d0)
;; => 0.9999700272441295d0
;; 0.999998887365445d0
;; 0.9999997282885571d0
Defines FOO-TO-BAR function as a primary converter. Only &key arguments (without supplied-p-parameter) and &aux arguments are allowed.
Generates and defines a functional on another color space. The name of the function is [COLORSPACE]-[TERM] if FNAME is not given.
INTERNAL-REAL-TIME macro after GC
Does fast exponentiation by squaring. POWER must be a literal of type (integer 1).
TIME macro after GC
Repeats BODY NUM times and returns the median of elapsed (internal real) times.
Ensures and declares that the type of variables are TYPE.
Works only on SBCL.
Generates an approximate spectrum of SPECTRUM by pieacewise linearization. It is used to lighten a "heavy" spectrum function.
Spectrum function of a blackbody. Note that it is not normalized.
Works only on SBCL.
A clamp function in a circle group. If NUMBER is not in
the (counterclockwise) closed interval [MIN, MAX], CIRCULAR-CLAMP
returns MIN or MAX whichever is nearer to NUMBER.
Counterclockwise linear interpolation from THETA1 to THETA2 in a circle group. It is guaranteed that the returned value doesn’t exceed the given interval from THETA1 to THETA2 if COEF is in [0, 1]. It is, however, slower than CIRCULAR-LERP-LOOSE.
Counterclockwise linear interpolation from THETA1 to THETA2 in a circle group. There is a possibility that the returned value slightly exceeds the interval [THETA1, THETA2] due to floating-point error. If that is incovenient, you should use CIRCULAR-LERP instead.
Returns true if NUMBER is within the counterclockwise closed interval [THETA1, THETA2] in a circle group.
Compares the counterclockwise distances between THETA1 and X and between X and THETA2, and returns THETA1 or THETA2 whichever is nearer.
Returns a new RGBSPACE with different standard illuminant and/or bit-per-channel. All the parameters are properly recalculated. If both are nil, it is just a copier.
Dequantizes a QRGB value to an RGB value
(constantly 1d0)
Returns a chromatic adaptation function.
(funcall (gen-cat-function +illum-a+ +illum-e+) 0.9504d0 1.0d0 1.0889d0)
=> 0.9999700272441295d0
0.999998887365445d0
0.9999997282885571d0 ; transformed white point
Returns a gamma-correction function for a given gamma value. You shouldn’t call the returned function directly as it is not safe. Use DELINEARIZE instead.
Generates the spectrum of the illuminant series D for a given
temperature (from 300 nm to 830 nm with band-width 1 nm). If RECTIFY is true,
the temperature multiplied by 1.4388/1.438 is used instead. (roughly 6504K for
6500K, etc.)
Returns a linearization function for a given gamma value. You shouldn’t call the returned function directly as it is not safe. Use LINEARIZE instead.
Returns a function for changing RGB working space.
(funcall (gen-rgbspace-changer +srgb+ +adobe+ :target :rgb) 0 1 0)
;; => 0.5649506908657044d0
;; 1.0d0
;; 0.2344342037422755d0
;; change from sRGB to Adobe RGB.
TARGET ::= :LRGB | :RGB | :QRGB | :RGBPACK
Note about clamping:
LRGB case: no clamping;
RGB case: no clamping;
QRGB case: with clamping;
RGBPACK case: with clamping.
GEN-SPECTRUM returns a spectral power distribution
function, #’(lambda (wavelength-nm) ...), which interpolates SPECTRUM-SEQ
linearly.
Note: SPECTRUM-SEQ must be a sequence of double-float. If the type of SPECTRUM-SEQ is (simple-array double-float (*)), it is not copied but referenced, otherwise it is copied by (coerce spectrum-seq ’(simple-array double-float (*))).
Non-normal RGB space is also accepted, though it depends on the situation whether the returned values are meaningful.
Non-normal RGB space is also accepted, though it depends on the situation whether the returned values are meaningful.
x
.
Returns the xy chromacity coordinates of a given illuminant.
z
.
CIEDE2000.
Tested with the test set by Sharma-Wu-Dalal. See "The CIEDE2000 Color-Difference Formula: Implementation Notes, Supplementary Test Data, and Mathematical Observations", 2004.
CIE 1994.
APPLICATION ::= :graphic-arts | :textiles
CIE 1976. Euclidean distance in L*a*b* space.
CMC l:c
Is an inverter of MHVC-TO-LCHAB-ILLUM-C with a simple iteration algorithm,
which is almost same as the one in "An Open-Source Inversion Algorithm for the
Munsell Renotation" by Paul Centore, 2011:
V := LSTAR-TO-MUNSELL-VALUE(L*);
C_0 := C*_ab / 5.5;
H_0 := h_ab / 9;
C_(n+1) := C_n + FACTOR * ΔC_n;
H_(n+1) := H_n + FACTOR * ΔH_n;
Δ(H_n) and Δ(C_n) are internally calculated at every step. This function
returns Munsell HVC values if C_0 <= THRESHOLD or if V <= THRESHOLD or when
max(Δ(H_n), Δ(C_n)) falls below THRESHOLD.
IF-REACH-MAX specifies the action to be taken if the loop reaches the
MAX-ITERATION as follows:
:error: Error of type DUFY:LARGE-APPROXIMATION-ERROR is signaled.
:return40: Three 40d0s are returned.
:raw: Just returns HVC as it is.
Illuminant C
ILLUMINANT can be NIL and in that case the transform is virtually equivalent to that of illuminant E.
Returns true if at least one of LR, LG, and LB is outside the interval [RGBSPACE-LMIN - THRESHOLD, RGBSPACE-LMAX + THRESHOLD].
L* (of L*a*b*) to Y (of XYZ)
Generates a (linear) CAT model from a 3*3 matrix.
Generates an illuminant from a spectral distribution or a white point. If
SPECTRUM is nil, the returned illuminant contains only a white point. If X and Z
are nil, on the other hand, the white point (X, 1d0, Z) is automatically
calculated from the spectrum. You can also specify the both though you should
note that no error occurs even if the given white point and SPD contradicts to
each other.
(make-illuminant :x 1.0 :z 1.0)
;; => illuminant without SPD
(make-illuminant :x 1.0 :z 1.0 :spectrum #’flat-spectrum)
(make-illuminant :spectrum #’flat-spectrum)
;; => (almost same) illuminants with SPD
(make-illuminant :x 0.9 :z 1.1 :spectrum #’flat-spectrum)
;; => (valid but meaningless) illuminant with SPD
If X and Y are NIL and COMPILE-TIME is T, the white point is
calculated at compile time. (Avoid side effects in this case as the
parameters are EVALed.)
Generates an observer object based on CMF arrays, which must be (SIMPLE-ARRAY DOUBLE-FLOAT (* 3)). The response outside the interval [begin-wl, end-wl] is regarded as 0.
xr, yr, xg, yg, xb, yb := primary coordinates in the xy plane.
[lmin, lmax] := range of linear values ([0, 1] typically).
LINEARIZER and DELINEARIZER must be (FUNCTION * (VALUES DOUBLE-FLOAT
&OPTIONAL)).
If FORCE-NORMAL is T, the nominal range of gamma-corrected values is forcibly set to [0d0, 1d0]. This option is used to avoid the computed range being e.g. [0d0, 0.9999999999999999d0].
Returns the largest chroma in the Munsell Renotation Data (all.dat) for a given hue and value. If you want to ignore the data for value = 0.2, 0.4, 0.6, or 0.8, give NIL to USE-DARK(, though it is maybe only for development).
Return the distance from the line to the origin.
Return the (signed) distance at which a ray, starting at the origin and travelling at angle THETA, intersects LINE.
Checks if Munsell HVC is out of the Munsell Renotation data.
Illuminant C.
Illuminant D65.
This converter involves the Bradford transformation from illuminant C
to illuminant D65.
Illuminant C.
Illuminant C.
Usage Example:
(dufy:munsell-to-mhvc "0.02RP 0.9/3.5")
;; => 36.008d0
;; 0.9d0
;; 3.5d0
Many other notations of numbers are acceptable; an ugly specification
as follows are also available:
(dufy:munsell-to-mhvc "2d-2RP .9/ #x0ffffff")
;; => 36.008d0
;; 0.9d0
;; 1.6777215d7
However, the capital letters and ’/’ are reserved:
(dufy:munsell-to-mhvc "2D-2RP 9/10 / #X0FFFFFF")
;; => ERROR,
Illuminant D65.
Illuminant C.
Converts Munsell value to L*, whose nominal range is [0, 100].
Converts Munsell value to Y, whose nominal range is [0, 1]. The formula is based on ASTM D1535-08e1. Note that this function does no clamping even if V is outside the interval [0, 10].
THRESHOLD is acceptable absolute error.
THRESHOLD is acceptable absolute error.
cmf
.
Spectrum function of optimal colors: f(x) = 1d0 if wl1 <= x <= wl2, f(x) = 0d0 otherwise.
Spectrum function of optimal colors: f(x) = 1d0 if x <= wl2 or wl1 <= x, f(x) = 0d0 otherwise.
Prints a form like (defparameter VAR-NAME (make-array ...)).
Quantizes an RGB value to a QRGB value
Returns true if at least one of R, G, and B is outside the interval [RGBSPACE-MIN - THRESHOLD, RGBSPACE-MAX + THRESHOLD].
Non-normal RGB space is also accepted, though it depends on the situation whether the returned values are meaningful.
Non-normal RGB space is also accepted, though it depends on the situation whether the returned values are meaningful.
Quantizes RGB values from [RGBSPACE-MIN, RGBSPACE-MAX] ([0, 1] typically) to 0, 1, ..., RGBSPACE-QMAX (255 typically), though it accepts all the real values and properly processes them as out-of-gamut color.
Decodes a packed RGB value, whose type depends on RGBSPACE but is
typically unsigned 24-bit integer.
It is guaranteed that this converter can correctly process a packed RGBA value if its order is ARGB.
Computes the XYZ values of SPECTRUM in reflective or transmissive case. The function SPECTRUM, a spectral reflectance, must be defined at least in [BEGIN-WL, END-WL]; the SPECTRUM is called for BEGIN-WL, BEGIN-WL + BAND, BEGIN-WL + 2*BAND, ..., BEGIN-WL + n*BAND (<= END-WL).
Converts xyY to XYZ. The nominal range of Y is [0, 1], though all real values are accepted.
ILLUMINANT can be NIL and in that case the transform is virtually equivalent to that of illuminant E.
Illuminant D65.
This converter involves the Bradford transformation from illuminant
D65 to illuminant C.
Illuminant C.
Illuminant D65.
This converter involves the Bradford transformation from illuminant
D65 to illuminant C.
Illuminant C.
Converts XYZ to spectrum, which is, of course, a spectrum among many and may contain a negative spectral density.
Converts XYZ to xyY. The nominal range of Y is [0, 1], though all real values are accepted.
Interpolates the inversion table of MUNSELL-VALUE-TO-Y linearly, whose band width is 1e-3. It is guaranteed that the round-trip error, (abs (- (y (munsell-value-to-y (y-to-munsell-value y))))), is smaller than 1e-5.
colorspace
) (doc-type (eql dufy/internal:colorspace)
)) ¶colorspace
) (doc-type (eql dufy/internal:colorspace)
)) ¶arithmetic-error
.
(quote "couldn't achieve the required accuracy.")
:message
parse-error
.
(quote nil)
:spec
simple-error
.
(quote nil)
:illuminant
Expresses a model of chromatic adaptation transformation. Currently only linear models are available.
structure-object
.
symbol
list
list
list
common-lisp
.
(or null string)
list
The functional here is e.g. color difference, luminance, or color temperature. If you define a functional for a color space with DEFINE-FUNCTIONAL, you can extend it to other color spaces with EXTEND-FUNCTIONAL.
structure-object
.
symbol
symbol
symbol
(integer 1)
1
list
boolean
list
structure-object
.
double-float
1.0d0
double-float
1.0d0
dufy/core::spectrum-function
(function dufy/core::empty-spectrum)
dufy/core:observer
dufy/core:+obs-cie1931+
(simple-array double-float (3 3))
dufy/internal:+empty-matrix+
OBSERVER is a structure of color matching functions.
structure-object
.
(integer 0)
360
(integer 0)
830
(simple-array double-float (* 3))
dufy/core::spectrum-function
dufy/core::spectrum-function
dufy/core::spectrum-function
(function * (values double-float double-float double-float &optional))
In the beginning is the primary converter, which is conceptually a directed edge that connects two color spaces. All other converters are generated by linking them. Currently primary converter can take only &key and &aux parameters other than required parameters.
structure-object
.
symbol
symbol
symbol
list
boolean
list
Is structure of RGB space including encoding characteristics. You shouldn’t write to any slots directly; instead MAKE-RGBSPACE and COPY-RGBSPACE are available.
structure-object
.
double-float
0.0d0
double-float
0.0d0
double-float
0.0d0
double-float
0.0d0
double-float
0.0d0
double-float
0.0d0
dufy/core:illuminant
dufy/core:+illum-d65+
dufy/internal:matrix33
dufy/internal:+identity-matrix+
dufy/internal:matrix33
dufy/internal:+identity-matrix+
double-float
0.0d0
double-float
1.0d0
(function * (values double-float &optional))
(alexandria:rcurry (function float) 1.0d0)
(function * (values double-float &optional))
(alexandria:rcurry (function float) 1.0d0)
common-lisp
.
double-float
0.0d0
common-lisp
.
double-float
1.0d0
common-lisp
.
double-float
1.0d0
double-float
1.0d0
boolean
t
(integer 1 62)
8
(integer 1 4611686018427387903)
255
double-float
255.0d0
double-float
(float 1/255 1.0d0)
double-float
255.0d0
The double-float that the Munsell converters accepts. It is in some
cases less than MOST-POSITIVE-DOUBLE-FLOAT because of efficiency:
e.g. on SBCL (64-bit) it is desirable that a float F
fulfills (TYPEP (ROUND F) ’(SIGNED-BYTE 64))
Analogy of the type specifier ‘cons’ and the function ‘list’: type (TUPLE A B C) is equivalent to the type (CONS A (CONS B (CONS C NULL))); the type TUPLE (or (TUPLE)) is equivalent to the type NULL.
For development. Returns elapsed (internal real) time.
Is a local version of defconverter.
definitions ::= (definition*)
definition ::= (name from-colorspace to-colorspace &key exclude-args)
Example:
(let-converter ((rgbpack-to-lchab rgbpack lchab)
(lchab-to-rgbpack lchab rgbpack :exclude-args (clamp)))
(format t "~X~%" (multiple-value-call #’lchab-to-rgbpack
(rgbpack-to-lchab #xAABBCC))))
;; AABBCC
;; => NIL
Is an internal function and will be called in SPECTRUM-TO-XYZ in another module.
SPECTRUM := spectral reflectance (or transmittance) ILLUMINANT-SPD :=
SPD of illuminant
Registers a functional to *functional-table*
Registers a primary converter to *PRIMARY-CONVERTER-TABLE*
array -> list coercion
Returns a 3*3 chromatic adaptation matrix between FROM-ILLUMINANT and TO-ILLUMINANT in XYZ space.
Linear transformation: LRGB -> XYZ -> XYZ -> LRGB
Value is integer.
The returned matrix will be used in XYZ-to-spectrum conversion.
Calculates u’ and v’ from xy.
Calculates u’ and v’ from XYZ.
Is called in INVERT-LCHAB-TO-MHVC.
Destructively makes a circular list.
args
.
name
.
delinealizer of sRGB (actually the same as bg-sRGB)
Used internally instead of NIL.
For devel. Returns the maximal error and the corresponding Y.
colorspace-designator ::= symbol | colorspace
Finds the shortest path in the graph of color spaces by BFS.
term
.
Return a list of lines representing the boundaries of the polygon defining the in-gamut colors in CIELUV for a fixed L.
Illuminant C.
All integer case. Does no type checks: e.g. HAB/9 must be in {0, 1, ...., 39}.
linearizer of sRGB (actually the same as bg-sRGB)
Constructor
Given L and H values, return the maximum chroma, constrained to those values.
For devel. Returns the LCh(ab) value of the color on the max-chroma boundary in the MRD.
Given L, return the maximum chroma available over the full range of hues.
For a fixed L, the in-gamut colors are bounded by a convex polygon, whose boundary lines are given by GET-CIELUV-BOUNDS. The maximum safe chroma is the maximum chroma that would be valid for any hue.
Checks if Munsell HVC values are out of the valid range.
All integer case. There are no type checks: e.g. HUE40 must be in {0, 1, ...., 39}.
Illuminant D65.
Illuminant D65.
Illuminant C.
name
.
For devel.
Decodes a packed RGBA value, whose type depends on RGBSPACE but is typically
unsigned 32-bit integer.
The order can be :ARGB or :RGBA. Note that it is different from the ’physical’ byte order in your machine, which depends on the endianess.
list
.
tail
.
Quantizes RGBA values from [RGBSPACE-MIN, RGBSPACE-MAX] ([0, 1], typically) to {0, 1, ..., RGBSPACE-QMAX} ({0, 1, ..., 255}, typically), though it accepts all the real values.
The order can be :ARGB or :RGBA. Note that it is different from the ’physical’ byte order in your machine, which depends on the endianess.
Y (of XYZ) to L* (of L*a*b*)
invalid-mhvc-error
)) ¶invalid-mhvc-error
)) ¶no-spd-error
)) ¶no-spd-error
)) ¶large-approximation-error
)) ¶large-approximation-error
)) ¶munsellspec-parse-error
)) ¶munsellspec-parse-error
)) ¶spec
.
invalid-mhvc-error
)) ¶invalid-mhvc-error
)) ¶Slope-intercept representation of a line
Jump to: | %
(
A B C D E F G H I K L M N O P Q R S T W X Y |
---|
Jump to: | %
(
A B C D E F G H I K L M N O P Q R S T W X Y |
---|
Jump to: | *
+
/
A B C D E F I K L M N O Q R S T V X Y Z |
---|
Jump to: | *
+
/
A B C D E F I K L M N O Q R S T V X Y Z |
---|
Jump to: | A B C D F H I L M N O P Q R S T U X Y |
---|