ApplyGrayscaleLut
Applies a look up table (LUT) on a grayscale image.
Access to parameter description
This algorithm dynamically changes the grayscale levels of an input image by those read in the selected lookup table (LUT).
It may be useful, for instance, to set the same label to different segmented objects.
This algorithm also allows selecting the input range of the image (for example, only the gray level values between 100 and 150 can be changed).
Access to parameter description
This algorithm dynamically changes the grayscale levels of an input image by those read in the selected lookup table (LUT).
It may be useful, for instance, to set the same label to different segmented objects.
This algorithm also allows selecting the input range of the image (for example, only the gray level values between 100 and 150 can be changed).
Function Syntax
This function returns outputImage.
// Function prototype
std::shared_ptr< iolink::ImageView > applyGrayscaleLut( std::shared_ptr< iolink::ImageView > inputImage, std::vector<double> anamorphosisLut, iolink::Vector2i32 intensityInputRange, iolink::Vector2i32 intensityOutputRange, std::shared_ptr< iolink::ImageView > outputImage = NULL );
This function returns outputImage.
// Function prototype. apply_grayscale_lut( input_image, anamorphosis_lut = list(range(255,-1,-1)), intensity_input_range = [0, 255], intensity_output_range = [0, 255], output_image = None )
This function returns outputImage.
// Function prototype. public static IOLink.ImageView ApplyGrayscaleLut( IOLink.ImageView inputImage, double[] anamorphosisLut = null, int[] intensityInputRange = null, int[] intensityOutputRange = null, IOLink.ImageView outputImage = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
![]() |
inputImage |
The input grayscale or label image. | Image | Binary, Label or Grayscale | nullptr |
![]() |
anamorphosisLut |
The array of the anamorphosis LUT. | Lut | {255, 254,..., 1, 0} | |
![]() |
intensityInputRange |
The index range of the input LUT (minimum and maximum input intensity). | Vector2i32 | Any value | {0, 255} |
![]() |
intensityOutputRange |
The low and high outside range level (minimum and maximum output intensity). | Vector2i32 | Any value | {0, 255} |
![]() |
outputImage |
The output image. Its dimensions and type are forced to the same values as the input. | Image | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
![]() |
input_image |
The input grayscale or label image. | image | Binary, Label or Grayscale | None |
![]() |
anamorphosis_lut |
The array of the anamorphosis LUT. | lut | list(range(255,-1,-1)) | |
![]() |
intensity_input_range |
The index range of the input LUT (minimum and maximum input intensity). | vector2i32 | Any value | [0, 255] |
![]() |
intensity_output_range |
The low and high outside range level (minimum and maximum output intensity). | vector2i32 | Any value | [0, 255] |
![]() |
output_image |
The output image. Its dimensions and type are forced to the same values as the input. | image | None |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
![]() |
inputImage |
The input grayscale or label image. | Image | Binary, Label or Grayscale | null |
![]() |
anamorphosisLut |
The array of the anamorphosis LUT. | Lut | {255, 254,..., 1, 0} | |
![]() |
intensityInputRange |
The index range of the input LUT (minimum and maximum input intensity). | Vector2i32 | Any value | {0, 255} |
![]() |
intensityOutputRange |
The low and high outside range level (minimum and maximum output intensity). | Vector2i32 | Any value | {0, 255} |
![]() |
outputImage |
The output image. Its dimensions and type are forced to the same values as the input. | Image | null |
Object Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); ApplyGrayscaleLut applyGrayscaleLutAlgo; applyGrayscaleLutAlgo.setInputImage( polystyrene ); applyGrayscaleLutAlgo.setAnamorphosisLut( {255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0} ); applyGrayscaleLutAlgo.setIntensityInputRange( {0, 255} ); applyGrayscaleLutAlgo.setIntensityOutputRange( {0, 255} ); applyGrayscaleLutAlgo.execute(); std::cout << "outputImage:" << applyGrayscaleLutAlgo.outputImage()->toString();
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif")) apply_grayscale_lut_algo = imagedev.ApplyGrayscaleLut() apply_grayscale_lut_algo.input_image = polystyrene apply_grayscale_lut_algo.anamorphosis_lut = list(range(255,-1,-1)) apply_grayscale_lut_algo.intensity_input_range = [0, 255] apply_grayscale_lut_algo.intensity_output_range = [0, 255] apply_grayscale_lut_algo.execute() print( "output_image:", str( apply_grayscale_lut_algo.output_image ) )
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); ApplyGrayscaleLut applyGrayscaleLutAlgo = new ApplyGrayscaleLut { inputImage = polystyrene, anamorphosisLut = new double[]{255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, intensityInputRange = new int[]{0, 255}, intensityOutputRange = new int[]{0, 255} }; applyGrayscaleLutAlgo.Execute(); Console.WriteLine( "outputImage:" + applyGrayscaleLutAlgo.outputImage.ToString() );
Function Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); auto result = applyGrayscaleLut( polystyrene, {255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, {0, 255}, {0, 255} ); std::cout << "outputImage:" << result->toString();
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif")) result = imagedev.apply_grayscale_lut( polystyrene, list(range(255,-1,-1)), [0, 255], [0, 255] ) print( "output_image:", str( result ) )
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); IOLink.ImageView result = Processing.ApplyGrayscaleLut( polystyrene, new double[]{255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, new int[]{0, 255}, new int[]{0, 255} ); Console.WriteLine( "outputImage:" + result.ToString() );