java.lang.Object
ij.process.ColorSpaceConverter
ColorSpaceConverter
- Author:
- dvs, hlp Created Jan 15, 2004 Version 3 posted on ImageJ Mar 12, 2006 by Duane Schwartzwald vonschwartzwalder at mac.com Version 4 created Feb. 27, 2007 by Harry Parker, harrylparker at yahoo dot com, corrects RGB to XYZ (and LAB) conversion.
-
Field Summary
FieldsModifier and TypeFieldDescriptiondouble[]
reference white in xyY coordinatesdouble[]
double[]
double[]
double[]
double[]
reference white in XYZ coordinatesdouble[]
double[]
double[]
double[][]
sRGB to XYZ conversion matrixdouble[][]
XYZ to sRGB conversion matrixdouble[]
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor; uses D65 for the white pointColorSpaceConverter
(String white) Constructor for setting a non-default white point -
Method Summary
Modifier and TypeMethodDescriptionint[]
HSBtoRGB
(double[] HSB) int[]
HSBtoRGB
(double H, double S, double B) Converts a Lab stack into an RGB image.int[]
LABtoRGB
(double[] Lab) int[]
LABtoRGB
(double L, double a, double b) Convert LAB to RGB.double[]
LABtoXYZ
(double[] Lab) Convert LAB to XYZ.double[]
LABtoXYZ
(double L, double a, double b) Convert LAB to XYZ.double[]
RGBtoHSB
(int[] RGB) double[]
RGBtoHSB
(int R, int G, int B) double[]
RGBtoLAB
(int rgb) double[]
RGBtoLAB
(int[] RGB) Converts an RGB image into a Lab stack.double[]
RGBtoXYZ
(int[] RGB) Convert RGB to XYZdouble[]
RGBtoXYZ
(int R, int G, int B) Convert RGB to XYZdouble[]
xyYtoXYZ
(double[] xyY) double[]
xyYtoXYZ
(double x, double y, double Y) double[]
XYZtoLAB
(double[] XYZ) Convert XYZ to LAB.double[]
XYZtoLAB
(double X, double Y, double Z) Convert XYZ to LAB.int[]
XYZtoRGB
(double[] XYZ) Convert XYZ to RGBint[]
XYZtoRGB
(double X, double Y, double Z) Convert XYZ to RGB.double[]
XYZtoxyY
(double[] XYZ) double[]
XYZtoxyY
(double X, double Y, double Z)
-
Field Details
-
D50
public double[] D50reference white in XYZ coordinates -
D55
public double[] D55 -
D65
public double[] D65 -
D75
public double[] D75 -
whitePoint
public double[] whitePoint -
chromaD50
public double[] chromaD50reference white in xyY coordinates -
chromaD55
public double[] chromaD55 -
chromaD65
public double[] chromaD65 -
chromaD75
public double[] chromaD75 -
chromaWhitePoint
public double[] chromaWhitePoint -
M
public double[][] MsRGB to XYZ conversion matrix -
Mi
public double[][] MiXYZ to sRGB conversion matrix
-
-
Constructor Details
-
ColorSpaceConverter
public ColorSpaceConverter()Default constructor; uses D65 for the white point -
ColorSpaceConverter
Constructor for setting a non-default white point- Parameters:
white
- "d50", "d55", "d65" or "d75"
-
-
Method Details
-
HSBtoRGB
public int[] HSBtoRGB(double H, double S, double B) - Parameters:
H
- Hue angle/360 (0..1)S
- Saturation (0..1)B
- Value (0..1)- Returns:
- RGB values
-
HSBtoRGB
public int[] HSBtoRGB(double[] HSB) -
LABtoRGB
public int[] LABtoRGB(double L, double a, double b) Convert LAB to RGB.- Parameters:
L
-a
-b
-- Returns:
- RGB values
-
LABtoRGB
public int[] LABtoRGB(double[] Lab) - Parameters:
Lab
-- Returns:
- RGB values
-
LABtoXYZ
public double[] LABtoXYZ(double L, double a, double b) Convert LAB to XYZ.- Parameters:
L
-a
-b
-- Returns:
- XYZ values
-
LABtoXYZ
public double[] LABtoXYZ(double[] Lab) Convert LAB to XYZ.- Parameters:
Lab
-- Returns:
- XYZ values
-
RGBtoHSB
public double[] RGBtoHSB(int R, int G, int B) - Parameters:
R
- Red in range 0..255G
- Green in range 0..255B
- Blue in range 0..255- Returns:
- HSB values: H is 0..360 degrees / 360 (0..1), S is 0..1, B is 0..1
-
RGBtoHSB
public double[] RGBtoHSB(int[] RGB) -
RGBtoLAB
public double[] RGBtoLAB(int rgb) - Parameters:
rgb
- RGB value- Returns:
- Lab values
-
RGBtoLAB
public double[] RGBtoLAB(int[] RGB) - Parameters:
RGB
-- Returns:
- Lab values
-
RGBtoXYZ
public double[] RGBtoXYZ(int R, int G, int B) Convert RGB to XYZ- Parameters:
R
-G
-B
-- Returns:
- XYZ in double array.
-
RGBtoXYZ
public double[] RGBtoXYZ(int[] RGB) Convert RGB to XYZ- Parameters:
RGB
-- Returns:
- XYZ in double array.
-
xyYtoXYZ
public double[] xyYtoXYZ(double x, double y, double Y) - Parameters:
x
-y
-Y
-- Returns:
- XYZ values
-
xyYtoXYZ
public double[] xyYtoXYZ(double[] xyY) - Parameters:
xyY
-- Returns:
- XYZ values
-
XYZtoLAB
public double[] XYZtoLAB(double X, double Y, double Z) Convert XYZ to LAB.- Parameters:
X
-Y
-Z
-- Returns:
- Lab values
-
XYZtoLAB
public double[] XYZtoLAB(double[] XYZ) Convert XYZ to LAB.- Parameters:
XYZ
-- Returns:
- Lab values
-
XYZtoRGB
public int[] XYZtoRGB(double X, double Y, double Z) Convert XYZ to RGB.- Parameters:
X
-Y
-Z
-- Returns:
- RGB in int array.
-
XYZtoRGB
public int[] XYZtoRGB(double[] XYZ) Convert XYZ to RGB- Parameters:
XYZ
- in a double array.- Returns:
- RGB in int array.
-
XYZtoxyY
public double[] XYZtoxyY(double X, double Y, double Z) - Parameters:
X
-Y
-Z
-- Returns:
- xyY values
-
XYZtoxyY
public double[] XYZtoxyY(double[] XYZ) - Parameters:
XYZ
-- Returns:
- xyY values
-
RGBToLab
Converts an RGB image into a Lab stack. -
LabToRGB
Converts a Lab stack into an RGB image.
-