Color Imaging team
  Image group
  CRIStAL laboratory

Code

Aim

We provide here some binary files and source code to help researchers and developpers and also to allow them to reproduce the results of our publications.

 

ImageJ plugins and macros (requires Java 1.8 or later)

ImageJ is a public domain, Java-based image processing software developed at the National Institutes of Health. ImageJ is designed with an open architecture that provides extensibility via Java plugins and recordable macros.

 

Multispectral Tools (plugins)

Authors: Benjamin Mathon and Sofiane Mihoubi
Version: 19.07
Installation: download MSTools_.jar into the plugins subfolder of ImageJ. Relaunch ImageJ. The list of features of this plugin will be accessible in the MSTools submenu of the plugins menu.
Description: the following table lists the available plugins of the package, the associated commands and the descriptions.

Open ENVI MSTools/Open ENVI

Open an ENVI hyperspectral image as an ImageJ stack (only BIL and BSQ data organizations are implemented). Select RAW file when asked. Central wavelengths of spectral bands are denoted as labels for all channels.

"Use virtual stack" option opens channels as a virtual (disk resident) stack. It allows hyperspectral images too big to fit in RAM to be opened but disallows changes in channels (changes are lost when you switch from one channel to another one). Useful if you don't consider to process the image.

Reflectance to radiance MSTools/Reflectance to radiance

Convert a 32-bit reflectance stack into an 8-bit radiance one with specified illuminant among A, E, D65_simulator, solar, and tungsten, available as supplementary materials in [thomas_sensors_2016] and linearly interpolated.

Reflectance values should be between 0 and 1. Beyond 1, values are clipped to 1 (default) or normalized by the maximal value on the whole stack.

Radiance to sRGB MSTools/Radiance to sRGB Convert a 8-bit radiance stack into a sRGB color image with specified illuminant among A, E, D65_simulator, solar, and tungsten, available as supplementary materials in [thomas_sensors_2016] and linearly interpolated. This transformation is performed using the CIE XYZ 2° standard observer functions.
Then, the reference white D65 is used to convert values from XYZ to the sRGB color space.
Extract channels MSTools/Extract channels

Extract specified channels of a hyperspectral image to a new stack.

Save ENVI MSTools/Save ENVI

Save the current stack to the ENVI format (RAW and HDR files) with BSQ data organization.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Multispectral Demosaicing (plugins and macro)

Author: Sofiane Mihoubi
Version: 17.04
Installation: download tci-mihoubi-materials.zip and follow the instructions given in the Readme.txt file contained in the archive.
Description: these plugins/macro allow to reproduce the experimental results (multispectral demosaicing) of our paper [mihoubi_tci_2017].

 

Bayer package (plugins)

Author: Olivier Losson
Version: 13.06
Installation: download Bayer_.jar into the plugins subfolder of ImageJ. Relaunch ImageJ. The list of features of this plugin will be accessible in the Bayer submenu of the plugins menu.
Description: the following table lists the available plugins of the package, the associated commands and the descriptions.

Bayer_Converter CFA Patterns/Convert To R-G-R CFA
CFA Patterns/Convert To B-G-B CFA
CFA Patterns/Convert To G-B-G CFA
CFA Patterns/Convert To G-B-G CFA

Convert the source image to a Bayer CFA image. The source image can be:

  • an RGB color image (or an RGB stack) which is subsampled to produce the CFA image,
  • an 8-bit grayscale image (or 8-bit stack) which is directly converted to the CFA image (lossless).

The resulting image is an instance of BayerProcessor (special case of 8-bit image). Input is the Bayer pattern, e.g., "Convert to R-G-R CFA" produces an 8-bit image where the three first pixels of the first row depict Red, Green and Red values.

Bayer_Channel_Selector Channels/Select R
Channels/Select G
Channels/Select B
Channels/Unselect Channel
(De)select a color channel in the source image (which must be an instance of BayerProcessor). All the analysis (e.g. histogram computation) are then only applied on this channel.
Bayer_COI_Selector1 Channels/Selected As ROI Select the pixels of the selected channel in the source image (which must be an instance of BayerProcessor) as a region of interest (ROI). A ROI can be first defined in the source image before applying this command. This command should be only applied on small images and/or ROIs.
Bayer_Sampler SampleS/Stacked R,G,B
SampleS/Stacked colorized R,G,B
Sample the RGB color channels of the source image (instance of BayerProcessor) as a stack of 3 sparse images. Resulting images can be colorized for illustration purposes.
Bayer_Inspector

Inspect

Extension of the Pixel_Inspector plugin (by Michael Schmid) to Bayer CFA images.
Bayer_Display_Tool Bayer Display This tool displays in the ImageJ status bar the channel and the pixel value of the current cursor position. It overloads the integrated method of the ImagePlus class in charge of this display.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rgb_2_Cooc_ncfa (plugin)

Authors: Ludovic Macaire and Olivier Losson
Version: 13.10
Installation: download rgb_2_cooc_ncfa.jar into the plugins subfolder of ImageJ. Relaunch ImageJ.
Description: compute the chromatic co-occurrence matrices (CCM) of a RGB color image or a Bayer CFA image (instance of BayerProcessor) for a specific neighborhood which is compatible with the Bayer pattern (cf. [losson_cviu_2013]).
Parameters:

  • distance for the neighborhood (parameter n in [losson_cviu_2013]),
  • number of levels used to quantize the color components (parameter q in [losson_cviu_2013]),
  • image (or images stack) for the destination of each CCM (RR, GG, BB, RG, RB et BG) with size q x q. Images (or stack) are created if this parameter is not specified.

 

classif_similarity (plugin)

Authors: Ludovic Macaire and Olivier Losson
Version: 13.09
Installation: download classif_similarity.jar into the plugins subfolder of ImageJ. Relaunch ImageJ.
Description: classification of images by similarity-based comparison between descriptive statistics (CCMs, LBP histograms...). Learning and test statistics are stored as stacks of 16-bit images of the same number of slices. There should be as many training as test stacks, which are considered pairwise by this plugin.
Parameters:

  • images (or images stacks) which contain input statistics (test and learning), e.g., [R_test, G_test, B_test] and [R_lear, G_lear, B_lear],
  • path of the file of results,
  • number of classes,
  • text files that list the images (test and learning), labeled with their corresponding classes,
  • similarity measure (intersection or Jeffrey divergence).

 

CFA_CCM (macro)

Authors: Ludovic Macaire and Olivier Losson
Version: 13.09
Installation: first install the Bayer package and the plugins rgb_2_Cooc_ncfa and classif_similarity. Download the macro CFA_CCM.txt then launch it in ImageJ (menu Plugins/Macros/Run...).
Description: classification of color texture images by similarity between their CFA CCMs, as presented in [losson_cviu_2013]. This macro allows to reproduce the experimental results of the paper.
Parameters:

  • dataset of images (Outex-TC-00006, Outex-TC-00013, or Outex-TC-00014),
  • paths of learning and test images,
  • text files that list the images (test and learning), labeled with their corresponding classes,
  • image type (demosaiced, CFA or RGB),
  • number of levels used to quantize the color components,
  • neighborhoods (distance to the central pixel),
  • batch mode (true speeds up the computations).

 

License

Copyright (c) 2018, University of Lille, CRIStAL laboratory, UMR CNRS 9189

    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.