- java.lang.Object
-
- ij.process.ColorSpaceConverter
-
public class ColorSpaceConverter extends java.lang.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(java.lang.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)
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 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
-
-
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
-
-