Package ij.process
Class ColorSpaceConverter
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[]
chromaD50
reference white in xyY coordinatesdouble[]
chromaD55
double[]
chromaD65
double[]
chromaD75
double[]
chromaWhitePoint
double[]
D50
reference white in XYZ coordinatesdouble[]
D55
double[]
D65
double[]
D75
double[][]
M
sRGB to XYZ conversion matrixdouble[][]
Mi
XYZ 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
Modifier and Type Method Description int[]
HSBtoRGB(double[] HSB)
int[]
HSBtoRGB(double H, double S, double B)
ImagePlus
LabToRGB(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)
ImagePlus
RGBToLab(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 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.
-