Jan 30, 2015 7:23 AM
| Last Modified: Oct 28, 2016 6:42 AM
Previously, I wrote a JSL script that would generate a data table from an image, called ImageToDatatable JSL Since then I have heard requests for the ability to select rows in the data table and have the selection reflected in the image. With this script, you can open an image and it will be displayed in a window as well as create a data table from the image. From the data table you can perform your analysis, such as a Distribution of the intensity values. You can then select in the Distribution (or other visualization), in the data table or in the image and all three will be updated to show the selection. Selection in the image is shown by using transparency on the non-selected pixels so that the selected pixels appear highlighted. You can apply a background color to the image window so that transparent pixels do not show as white, but rather they will show as the background color you choose.
Selecting the highest intensity values in the Distribution identifies the highest concentration of fibrin in blood cells.
Update (Sep 8, 2015): This was originally released as a script but is now being packaged as an Add-in so that it can appear in the Add-Ins Menu. It has also been updated to detect when a gray scale image is opened. In that case it will not create RGB and HLS columns, since there is no color in the image. You will only see an intensity value column along with the x,y location columns.
Issue (Oct. 26, 2015): A customer reported an issue where they got an Alert window when trying to select pixels in the image. After some testing we were able to determine that it was an issue with version 11.0.0 only. Upgrading to 11.1.0 (or later) will fix the problem.
Update (July 15, 2016): I added some new functionality to the Image Analyzer. The most notable is the ability to handle multiple-frame images. If you have an animated GIF or a TIFF with multiple frames the Image Analyzer will read in all the frames and create the data table as before, but now it will include a column for the frame number. It will also display a text box with the current frame number as well as previous and next arrows so you can cycle through the frames. If your image does not have multiple frames then these controls will not appear in the UI and it will continue to work and look like it did in the previous version. There are some new selection controls - Composite and Delay. If Composite is on, a selection will include not only the pixels for the current frame, but all the corresponding pixels in all the frames. This is only available for multi-frame images. Since the selection is sometimes slow, especially for multiple frames, you can select the Delay option which will show the selection rectangle but it will delay the update of the selection (in the data table and in the image) until you release your mouse. I also added an option to change the color used for the selection rectangle. I noticed this was an issue when changing between images that were really light versus images that were dark. Now you can change the selection rectangle color so it will always be visible.
The multi-frame feature requires functionality that was added in Version 13 of JMP so you will only see the controls for the multiple frames if you are running JMP 13 (or later) and if your image has multiple frames. This version of the Addin can be installed in earlier versions of JMP but it will function as before, only having access to the first frame.