0% found this document useful (0 votes)
14 views

Icy Introduction

HSC

Uploaded by

Taufik
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Icy Introduction

HSC

Uploaded by

Taufik
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 74

Icy

Icy Training - Level 1 - Introduction


● What is Icy ?
Plan ● Installing Icy
● Graphical User Interface (GUI)
○ Histograms & Colormap / Look up table
○ Basic operations
○ Overlays / Layers
○ 3D view
○ Others image representations
○ Icy Preferences
● Investigate an image...
● Region of Interest (ROI)
● Analysis examples
○ Spot detection
○ Tracking
○ Active contours
● ImageJ inter operability

- The complete archive for the training can be found here:


http://icy.bioimageanalysis.org/icy_training.zip
- Feel free to use your own images !
What is Icy ?
In a nutshell: Icy is a collaborative
photoshop dedicated to image analysis

"Collaborative" as anybody can add


features to Icy
What you want,
What you don't want.
Deploiement

User Developer

I want to seek and install a plugin I want my plugins to be available to


directly from the application everybody in a few clicks

I want my program ready to run I want to configure everything


online, without using text config file
I want everything up to date
I want to deploy all my updates by
posting it on the website.
I don't want to deal with program
installation, anyway I don't
understand it.
What you want,
What you don't want.
Deploiement Quality

User Developer

If the program crashes, If my program crashed, I want to


i want the developer to be aware of receive a bug report to correct the
it. problem.

I am willing to participate, but by I wish to write update and send it


clicking on a button, no more. right now
What you want,
What you don't want.
Deploiement Quality Re-use

User Developer

I want to understand the step I don't want to write what is already


involved in the analysis of an image existing in other plugins.

I can see the analysis I wish can be I want to get information on the
obtained by tweaking existing plugin I build on.
scripts or protocols

I want something adapted to my


programming skills
What you want,
What you don't want.
Deploiement Quality Re-Use Deploiement

User

I want to send my scripts or my protocols online. I want


to put it in a publication, write a doc and share it with
others.

I don't know anything about web hosting

I want the other to download my protocols or my


scripts and that everything get automatically installed
Installing Icy
Installation

● Go to icy.bioimageanalysis.org
● Download Icy
● Unzip the archive
● Launch Icy

At each start, Icy automatically


updates plugins and the application

Complete training archive is available at :


http://icy.bioimageanalysis.org/icy_training.zip
Graphical user
interface
Open the image named 'image 1 JPG compressed'
(you can just use drag and drop)
GUI

The GUI is based on


1
3 main components :

1 - Ribbon Menu
2 - Inspector
3 - Work space

2
Tips: Application can also
work as floating windows
using detached mode

3
The Ribbon menu
Main menu Centralized User customizable tasks
Search (Ctrl+F) (Workspace Editor plugin)

Selected Actions of current selected task


Ribbon task organized by group / band

Tips: Letting mouse cursor on


a button will display a tooltip
providing more information
about the action
The viewer
Keep adjusting image Duplicate the viewer Externalize the viewer
to the window size over the same data (F2) (floating window) (F3)

Enable view
synchronisation of
several viewers
(0,1,2,3,4) Create a new “flattened”
image (render image with
all layers and false color
in a RGB image)
Visualization
mode selection Create a cropped
“flattened” image
using current view

Enable / Disable
layers display (L) Navigating in the sequence
- Mousewheel = zoom
- Drag with left click = translation
- Drag with right click = rotation
Pixel color under at
current mouse position Tips
- use Shift key as aligner
Current mouse position and values under pointer - use Ctrl key as accelerator
● Open the image named 'image 1 JPG compressed'
● Zoom in/out over the viewer and over the navigator
● Pan the view / move the image
● Rotate the view
● Render a flattened image at scale 1:1
● Render a zoomed & cropped flattened image
The
Inspector
Pan, zoom,
View of current active rotation
Sequence / Viewer

Histogram bounds Histogram of the current


selected channel
Colormap / LUT of current
selected channel
Load or select
Tips: Colormap can be manually pre-existing colormap
edited by clicking on a color line and
moving the control point (which can
be deleted using Shift+click) Current selected
channel
Display / Hide a
channel
Properties of the current
active Sequence
Edit properties
(Sequence name, pixel
size, channel name…)
Memory / CPU monitor
Histogram of an image

The image is a matrix


of values
2 3 1

The bigger it is, the


higher is the intensity 0 1 0

For each value of the 1 0 2


dynamic of the image,
3x3 matrix representing an
we count the number image of 3x3 pixels.
of corresponding
values
Histogram and colormap / LUT
● Colormaps help at understanding an image.
● Colormap representation does not affect the real values of the image.
● The histogram provides the number of pixel for each intensity in the image.

Predefined Colormap
Histogram of selected
channel (only 1 channel)
● Deactivate a channel
● Duplicate the view
● Synchronize both view on group 1
● Slide the red bar gradually to the left to increase the contrast of RED
channel and watch the squares dues to the JPG compression.

Those squares are due to the


JPG compression →
Never use JPG format for
image analysis !
Basics operations
Crop, extract channel, merge...

All basic operations on an image / sequence are located in the first Ribbon task
and are organized by group

Channel / Stack / Frame basic operations:


Open from file / extract, remove, merge...
Save to file
(also available from
the main menu) XY size operations Z (3D stack) / T (TimeLaps)
dimension conversion

Image Duplicate / Gray / RGB / ARGB image conversion


data type conversion (useful to generate JPG, PNG or AVI images)
Search for… everything

Internal commands... Installed plugins... and all online resources !

Tips:
- Use CTRL+F for search
- When you don’t find a function or plugin, just use the search bar :)
- Results can be extended by plugin (Protocols, Scripts..)
Plugin Documentation The page contains
As a developer creates a plugin, a page is ● abstract
automatically generated. ● technical infos
● changelog
● documentation
● a rating section

Tips: Right clicking on a


plugin result will redirect you
to the online documentation
for this plugin
If you still don’t have the solution:
Use the forum support
http://icy.bioimageanalysis.org/support

People can illustrate question and answers with


code, images and various files.
● Close view with enhanced RED contrast
● Extract all channels of 'image 1 JPG compressed'
● Align all viewers
● Use the histogram to enhance contrast for each channel
● Synchronize all views together in group 1
● Close view with enhanced RED contrast
● Extract all channels of 'image 1 JPG compressed'
● Align all viewers
● Use the histogram to enhance contrast for each channel
● Synchronize all views together in group 1

Solution
- Use extract all channels command
- Use Tile grid align command (Shift+G)
- Use group 1 synch command (Shift+1)
● Close the original 'image 1 JPG compressed' image (3 channels)
● Merge channels to rebuild it from single channel images
● Close all single channel images
● Rename the remaining image 'image 1 recomposed'
● Close the original 'image 1 JPG compressed' image (3 channels)
● Merge channels to rebuild it from single channel images
● Close all single channel images
● Rename the remaining image 'image 1 recomposed'

Solution
Use “Merge…” command
in “Channel” section
Opening an image
● Can use the classic drag and drop
● Or use the open operation from the main menu to get more options

Try to open a sub part of 'image 1 JPG compressed' :


XY region “500,270 - 220,150” (X,Y - W,H)
Open main menu
by clicking here
Image preview &
basic infos

Options to open
only sub part of
the image

Tips: Icy supports almost all


microscope image format
(CZI, LSM, ZVI, LIF, …) and
supported format list can be
extended using plugins !
● Change channel 2 color to yellow and channel 3 color to magenta
● Change pixel size X / Y to 0.1 µm
● Zoom on 1 cell and measure its width with the ruler
● Take a screenshot of current view
● Save the result in JPG format

What is the difference between these 2 images ??


Overlays / Layers
It’s possible to enrich the image with various informations over it, still we don’t want
to modify the image pixels so we use layers / overlays to display them.

Tips: layers can be


filtered by name

Enable / Disable display


of a specific layer

Layer panel displaying all


layers visible on this image

We can definitely remove


some layers if needed

Tips: Quickly hide all Some layer may display


layers using the global extra settings when you
layer display toggle (L) select them
3D / 4D / 5D image
Icy supports up to 5D images (XYZTC) of any data type (byte, short, int, double..)
3D image 4D image 5D image
Z stack - single channel timelaps of Z stack - single channel timelaps of Z stack - multi channel

Z slider to navigate
through Z slices Tips: you can use arrow
T slider to navigate Play / pause, loop,
keys to navigate through
through frames frame rate control
slices or frames.
3D / 4D / 5D image
● Open ‘3D stack.tif’ and ‘4D hair.tif’ files
● Use the Z / T slider to change slice / frame then use
arrow keys to navigate one slice / frame at once
● Play the timelaps in repeat mode at 30 FPS
Use 3D view
Icy natively support VTK for 3D raycasting rendering

Select 3D VTK view Enable / disable axis, bounding box,


grid and scale display Can use GPU for
fast rendering

General rendering
settings

Light settings

Note that alpha


component in colormap
(FIRE here) is useful here

Tips: use R key to reset view


and Shift+R to reset view and
colormap / histogram bounds
● Switch ‘3D stack.tif’ or ‘4D hair.tif’ to 3D VTK view
● Use the 3D Rotation plugin to make a nice animation :)

Before After
Representing an image on screen
The image below (blood cell) is obtained with
an atomic force microscopy. Each intensity
value is an height: an altitude.
Representing an image on screen
Have you seen the smalls knobs on the left hand side image ? No ? That
precisely what we are looking for !
The same image displayed in 3D (on the right) allow to see them.

Image rendered with Blender


Representing an image on screen
The image can be seen in 3D in Icy using the 3D Elevation Map visualization mode.
This is not the same than the 3D VTK volume view !

Tips: Elevation map is a plugin ! It should


be included in Icy by default but it may be
missing if the plugin is not installed. That
means visualisation modes can be
extended by plugin. When you install a
new visualization plugin, it will be directly
integrated here.
Others image representation..
Use the image representation you need !

Channel montage view

Orthoview

Stack montage view


Icy preferences

Plugin setting Automatic update

Accessible from
main menu or
top icon shortcut

Memory setting
Icy's plugins
All plugins are centralized
on a single website

Online plugins can be browsed using


the top icon shortcut or Online Plugin
section in Preferences

Access online documentation,


Delete, update or install new
plugin

Tips: You can install plugin and


access its documentation
directly through the search bar !
Region of
Interest
ROI (Region of interest)
ROI are a very important aspect in Icy, they will give you quantification results
from your image. Almost all plugins generate ROI as results, and some also use
ROI as input information.

ROI conversion tool, allow to Used to paint image


convert 2D to 3D roi. Transform inside or outside ROI
2D ROI tools, this is the mask to polygon and vice versa (rarely used)
common ROI we use
Boolean operations
between ROI
3D ROI tools, we use these ROIs
Export all ROI information
only in very specific cases
to an excel file (see later)
ROI (Region of interest)

● Open an image (hela-cells.tif)


● Draw each type of 2D ROI
● Try to remove a point then adding
a new point to the Polygon ROI
● Try changing pencil size and erase
some part in Area ROI

Tips
● Use the ROI tooltip (when you let
mouse cursor over ROI tool) to know
how to interact with the ROI.
● Use Ctrl+Z to undo the last operation
and Ctrl+Y to redo it.
ROI (Region of interest)

Filter ROIs on their name Configure ROI fields to


display in the ROI table and
in the ROI Excel export

ROIs table displaying various


information about ROI

Visualization ROI
properties

ROI position and dimension


Note that ROI has 5D position This list is not fixed and can
be extended by plugin
ROI (Region of interest)
All ROIs can be selected
even if they are
overlapping

The ROIs can be colored


and renamed

ROIs are persistent, this


means that you don't need
to worry about saving them:
they reappear automatically
as you reopen the image.

● Move / Edit the existing ROIs


● Rename ROIs, change their colors.
● Close a sequence and reopen it, you will see that ROIs are restored !
ROI (Region of interest)
● Open ‘3D stack.tif’ and try to build these 2 ROIs using only 1 Rectangle and 1 Ellipse
together with the Boolean Operation.
● Add the field ‘mean intensity’ in the ROI table
● Set the Z position of the second ROI to 5, why does the mean intensity value change ?

Tips
You can use Ctrl+C / Ctrl+V
to copy / paste ROI(s)
ROI (Region of interest)
● Open ‘3D stack.tif’ and try to build these 2 ROIs using only 1 Rectangle and 1 Ellipse
together with the Boolean Operation.
● Add the field ‘mean intensity’ in the ROI table
● Set the Z position of the second ROI to 5, why does the mean intensity value change ?

Solution
- Use “Intersection”
command in “Boolean Op”
for the first ROI
- Use “Subtraction”
command in “Boolean Op”
for the second ROI
ROI (Region of interest)
ROIs are 3D friendly ! ● Duplicate view
You can see them and you can ● Set second view mode to 3D
also interact with them ● Try to move ROIs on a view and the other
Image analysis
examples
Spot detection
original image with
image detections

● Load the file P7.JPG Question: is there different


● Launch the plugin “spot detector” densities of detection over the
● Click “start” image ?

- Yes, and we will quantify it !


Spot detection
using input ROIs

● Draw 2 ROIs corresponding to each area.


● Restart the detection (click start again)
● Detection are now linked to the ROIs
Example of quantification
using input ROIs

Excel

sub folder 'save'


of the input image

● Enable XLS export from Spot detector


● Enable export original and binary images
● Restart the detection (again)
Binary image Original Image with
ROIs and detection
Density quantification
using input ROIs
Excel

Add a density column in excel result:


Density = nb detection / surface

Question:
● why we all have different density ?
● why we have more variation on the high density ROI ?
Good practices in Icy :
get results as ROI(s)
Spot detector is a “all in one” tool (for historical
reasons) but it’s better to just use it to detect spot
as ROIs then complete / customize your analysis
workflow using “Protocols”.

Tips: ROI Excel export can


be in XLS or CSV / TXT
● Remove XLS and images export
format depending the file
● Enable ROI export
extension we provide.
● Restart the detection
Spot detector - detect in cells only
● Open ‘image1 JPG compressed.jpg’
● Use HK-Means plugin to detect cell on channel 2 (do it together)
● Then use Spot Detector to detect spots in channel 1 for each cell
(don’t forget to set cell ROIs C position to ‘ALL’ before)
Tracking
1. Create detections

● Open ‘particle tracking’ folder


● Draw an ROI over the area where
we want to do the tracking
1. Create detections
● Use the spot detector
● Set parameters for correct detection
● Enable the SwimmingPool export
● Start detection
2. Link detections to create tracks
● Starts the Spot Tracking plugin
● Select the detection set we just made
● Start parameters estimation with default setting

Then click ‘Run tracking’ !


The track manager
Track View panel Track Processor Rack: allows customizing
displaying all tracks processing / visualization / quantification on
obtained tracks.
Track
Button to add track processors
1. add “Track Processor Time Clip” and clip track display to 10 frames
2. add “Filter Track Processor” and filter out tracks with speed < 5 µm/s”
3. add “Motion Profiler Processor” to inspect track parameters

Processors

3
Time clip processor

2 detections with
“Display Future” on.
ROI Gate processor
● add Track Processor
ROI Gate
● Draw ROI
Flow track processor

With time clipping

With ROI gating


Active
Contour
Active contours - noisy image
● Open “Fluo_contact_2D.lsm” from “active contours” folder
● Launch the “Active Contours” plugin
● Draw an ellipse overlapping partially left cell on the left
● Run “Active Contours” (default parameter using region)
Active contours - object separation
● Open “Hela Cells” image
● Use HK-Means to segment nucleus in blue channel
● Set “channel region” to 1 as we want to segment from green channel
● Set “contour sampling” to 3 to “convergence criterion” to 0.01 (faster)
● Run “Active Contours”
Active contours - find membrane
● Open “NeuralTube.tif” from “active contours” folder
● Enhance contrast with histogram and draw an ellipse inside a cell
● Set “Region weight” to 0 and “Edge weight” to 1 (contour attachment)
● Set “Contour inflation” to 0,01 and “Contour sampling” to 1
● Run “Active Contours”
Active contours - tracking
● Open “Fluo_contact_2D.lsm” from “active contours” folder
● Draw 2 ellipses on the cells (initialization)
● Check “Track objects over time” parameter
● Run “Active Contours”
● Click on “Send to track manager” button
ImageJ
in Icy
Use ImageJ inside Icy
You can use ImageJ directly from Icy, this make interaction between Icy and
ImageJ very easy

This is ImageJ running in Icy ! ImageJ to Icy / Icy to


ImageJ image conversion

Better to use the “Detached mode”


(floating windows) when using ImageJ
as ImageJ use floating windows
Use ImageJ inside Icy
Basically you need to :
● convert your Icy image into an ImageJ image
● do your operations with ImageJ
● convert back the ImageJ image in Icy image if needed

● Open ‘3D Stack.tif’


● Be sure to have a ROI (Polygon or Area)
● Convert to ImageJ
● Do Process → Find Edges in ImageJ
● Convert result back to Icy image
Conclusion
Keep in touch !
@Icy_BioImaging

Support forum
http://icy.bioimageanalysis.org/support

Image Analysis Hub


Open Desk
Every other Thursday 9h30-12h30
Pasteur - François Jacob Building
https://research.pasteur.fr/en/news/ima
ge-analysis-opendesk/
Don’t forget to cite and acknowledge us :)

You might also like