- java.lang.Object
-
- ij.process.ColorSpaceConverter
-
public class ColorSpaceConverter extends Object
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
Fields Modifier and Type Field Description double[]chromaD50reference white in xyY coordinatesdouble[]chromaD55double[]chromaD65double[]chromaD75double[]chromaWhitePointdouble[]D50reference white in XYZ coordinatesdouble[]D55double[]D65double[]D75double[][]MsRGB to XYZ conversion matrixdouble[][]MiXYZ to sRGB conversion matrixdouble[]whitePoint
-
Constructor Summary
Constructors Constructor Description ColorSpaceConverter()Default constructor; uses D65 for the white pointColorSpaceConverter(String white)Constructor for setting a non-default white point
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int[]HSBtoRGB(double[] HSB)int[]HSBtoRGB(double H, double S, double B)ImagePlusLabToRGB(ImagePlus img)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)ImagePlusRGBToLab(ImagePlus img)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 Detail
-
D50
public double[] D50
reference white in XYZ coordinates
-
D55
public double[] D55
-
D65
public double[] D65
-
D75
public double[] D75
-
whitePoint
public double[] whitePoint
-
chromaD50
public double[] chromaD50
reference white in xyY coordinates
-
chromaD55
public double[] chromaD55
-
chromaD65
public double[] chromaD65
-
chromaD75
public double[] chromaD75
-
chromaWhitePoint
public double[] chromaWhitePoint
-
M
public double[][] M
sRGB to XYZ conversion matrix
-
Mi
public double[][] Mi
XYZ to sRGB conversion matrix
-
-
Constructor Detail
-
ColorSpaceConverter
public ColorSpaceConverter()
Default constructor; uses D65 for the white point
-
ColorSpaceConverter
public ColorSpaceConverter(String white)
Constructor for setting a non-default white point- Parameters:
white- "d50", "d55", "d65" or "d75"
-
-
Method Detail
-
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
-
-