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.
-