... | ... | @@ -15,10 +15,8 @@ The *Automated FCS* plugin monitors a folder for new images generated by MyPiC a |
|
|
4. If an object is found send stage position(s) and/or FCS position(s) (computed with respect to the object of interset) to MyPiC
|
|
|
5. Send to MyPiC which action to perform, e.g. update stage position for tracking or FCS measurements
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# [<img src="./images/up.PNG">](#back) <a name="installation"></a> Installation
|
|
|
# <a name="installation"></a> Installation
|
|
|
Install [FiJi](http://fiji.sc/#download) to a directory where you have writing rights.
|
|
|
|
|
|
## Without compiling the jar files
|
... | ... | @@ -55,7 +53,7 @@ You can start the plugin from `Plugins > EMBL > Automated Fcs`. |
|
|
This directory is the directory where MyPiC saves the data.
|
|
|
|
|
|
Main window | Parameter window|
|
|
|
:---: | :---:
|
|
|
:--- | :---
|
|
|
<img src = './images/AutomatedFCS_GUI_Artboard1.png' width = "400px" > | <img src = './images/AutomatedFCS_GUI_Artboard2.png' width = "400px" >
|
|
|
|
|
|
|
... | ... | @@ -69,63 +67,118 @@ Main window | Parameter window| |
|
|
<div align = "center" > <img src = './images/AutomatedFCS_GUI_Artboard3.png' width = "400px" > </div>
|
|
|
|
|
|
|
|
|
The user can specify up to 3 images that will be analysed by the plugin (Job1-3). The images should match to MyPiC task where processing is set to `Online image Analysis`
|
|
|
The user can specify up to 3 images that will be analysed by the plugin (Job1-3). The images should match to MyPiC task where processing is set to `Online image Analysis`. Commands and parameters are written in the WindowsRegistry
|
|
|
|
|
|
```
|
|
|
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\OnlineImageAnalysis\macro
|
|
|
```
|
|
|
|
|
|
for MyPiC to read.
|
|
|
|
|
|
1. **Pipeline** Name of MyPiC pipeline to analyse
|
|
|
* **None**: do not perform any analysis
|
|
|
* **Default**: Analyse files containing string `*DE*` from default pipeline
|
|
|
* **Trigger1**: Analyse files containing name `*TR1*` from Trigger1 pipeline
|
|
|
* **Trigger2**: Analyse files containing name `*TR2*` from Trigger2 pipeline
|
|
|
|
|
|
1. `Image` Name of pipeline from MyPiC to analyse <br/>*None* - do not perform any analysis <br/> *Default* - Files with name `*DE*` from default pipeline <br/> *Trigger1* (*Trigger2*) - Files with name `*TR1*` (`*TR2*`) from Trigger1 (Trigger2) pipeline
|
|
|
2. `Img. Task` Task to be analysed. This is the image number in the order of acquisition of the pipeline
|
|
|
3. `Command` Command to pass to MyPiC <br/> *nothing* - do not perform any action <br/> *focus* - compute XYZ of center of mass of the segmented binary object. MyPiC updates the stage position accordingly. This is used for tracking objects in 3D. <br/> *setFcsPos* - pass XYZ position(s) for FCS measurements specified in [FCS measurement points](#fcspos). MyPiC starts FCS measurements at these positions <br/> *setFcsPos;focus* - MyPiC first performs FCS measurements and then updates the stage position according to the center of mass of segmented object <br/> *trigger1* (*trigger2*) - MyPiC starts Trigger1 (Trigger2) pipeline at XYZ of center of mass of segmented object(s). Several stage positions can be specified at once using `Number of particles` >1 and [`Pick particle in`](#pickpoints) = *many*
|
|
|
2. **Task**: This is the image number in the order of acquisition of the pipeline
|
|
|
3. **Command**: Command passed to MyPiC upon succesful segmentation. Written in the windows registry **CodeMic**.
|
|
|
* `nothing`: do not perform any action
|
|
|
* `focus`: Useful for object based tracking in 3D. Compute center of mass of segmented binary object and pass coordinats to MyPiC (windows registry **X**, **Y**, **Z**). Microscopy position are updated if MyPiC options **TrackXY** and/or **TrackZ** are on .
|
|
|
* `setFcsPos`: Pass coordinates for FCS measurements to MyPiC (registry **fcsX**,**fcsY**,**fcsZ**). Number of points and positions are specified in [FCS measurement points parameters](#fcspos). MyPiC starts FCS measurements at these positions if the next task is a FCS job
|
|
|
* `setFcsPos;focus`: Combination of 2 commands. MyPiC first performs FCS measurements and then updates the stage position according to the center of mass of segmented object
|
|
|
* `trigger1`: MyPiC starts Trigger1 pipeline at XYZ of center of mass of segmented object(s). Several stage positions can be specified at once using **Number of particles** >1
|
|
|
* `trigger2`: MyPiC starts Trigger2 pipeline at XYZ of center of mass of segmented object(s). Several stage positions can be specified at once using **Number of particles** >1
|
|
|
|
|
|
## [<img src="./images/up.PNG">](#back) <a name="segmentation"></a> Segmentation parameters
|
|
|
|
|
|
After segmentation objects that are within a certain area range and fluorescence intensity range are selected. From these objects the plugin picks one or more objects to be used for specifying imaging coordinates and FCS positions.
|
|
|
|
|
|
<div align = "center" > <img src = './images/AutomatedFCS_GUI_Artboard4.png' width = "400px" > </div>
|
|
|
In object detection allows for object based tracking of a single cell using a nearest neighbour algorithm (Command: **focus**). This can be used to perform long term high-resolution imaging of objects that are moving in space using a small field of view.
|
|
|
|
|
|
<div align = "center" > <img src = './images/AutomatedFCS_GUI_Artboard4.png' width = "400px" > </div>
|
|
|
|
|
|
|
|
|
1. `Main seg. Channel` Channel to use for object segmentation
|
|
|
2. `Seg. Method` Method to find threshold to separate foreground and background pixels. The name refer to the method as implemented in ImageJ.
|
|
|
3. `filter radius (px)` Radius in pixels of the gaussian filter applied on the image before thresholding
|
|
|
4. `Exclude objects > (um2)` Exclude objects above area-size in micrometer^2
|
|
|
5. `Exclude objects < (um2)` Exclude objects below area-size in micrometer^2
|
|
|
6. `Watershed if > (um2)` Perform a watershed operation on objects that exceed area. This parameter is useful to separate objects that are in close proximity.
|
|
|
7. `Min mean intensity` The mean fluorescence intensity for each object of interest must be above this value.
|
|
|
8. `Max mean intensity` The mean fluorescence intensity for each object of interest must be below this value.
|
|
|
9. `Exclude boundaries` If yes objects touching the boundary are excluded
|
|
|
10. `Number of particles` Maximally allow for this number of objects
|
|
|
11. `Channels intensity filter1/2` Specify one or two additional channels for which the fluorescence intensity must be in a certain range
|
|
|
12. <a name=pickpoints></a>`Pick particle in` <br/> *center* choose one particle closest to the center of the image. This allows for tracking an object through time and space. <br/> *random* choose one particle at random. <br/> *many* choose several particle at random. The maximal number of particles is specified by `Number of particles`
|
|
|
|
|
|
> The default `Max mean intensity` values are for 8bit images. This needs to be increased for 12bit (maximum intensity 4093) or 16bit (maximum intensity 65536) images
|
|
|
1. **Channel segmentation**: Channel to use for object segmentation
|
|
|
2. **Seg. Method**: Method to find threshold to separate foreground and background pixels. The name refers to the method as implemented in ImageJ
|
|
|
3. **filter radius (px)** Radius in pixels of the gaussian and median filters applied on the image before thresholding
|
|
|
4. **Exclude objects > (um2)**: Exclude objects above area-size in micrometer^2
|
|
|
5. **Exclude objects < (um2)**: Exclude objects below area-size in micrometer^2
|
|
|
6. **Watershed if > (um2)**: Perform a watershed operation on objects that exceed area. This parameter is useful to separate objects that are in close proximity
|
|
|
7. **Exclude boundaries**: If yes objects touching the boundary are excluded
|
|
|
8. **Channels intensity filter1**: Specify channel number for which the fluorescence intensity must be in a certain range
|
|
|
9. **Min intensity** filter 1: Minimal value for mean fluorescence intensity in segmented object of channel (**Channels intensity filter1**)
|
|
|
10. **Max intensity** filter 1: Maximal value for mean fluorescence intensity in segmented object of channel (**Channels intensity filter1**)
|
|
|
11. **Channels intensity filter2**: Additional channel to apply fluorescence intensity thresholds
|
|
|
12. **Number of particles** Maximally allow for this number of objects to be picked
|
|
|
12. <a name=pickpoints></a>**Pick particle in**
|
|
|
* **center** choose particles closest to the center of the image. When **Number of particles** = 1 this option allows for tracking an object in space.
|
|
|
* **random** choose one particle at random.
|
|
|
|
|
|
> **Min and Max intensity** The default values are for 8bit images. This needs to be increased for 12bit (maximum intensity 4093) or 16bit (maximum intensity 65536) images
|
|
|
>
|
|
|
|
|
|
## [<img src="./images/up.PNG">](#back) <a name=fcspos></a> FCS measurement points parameters
|
|
|
Note that FCS measurements are only performed by the microscope if the plugin sends the command *setFcsPos* or *setFcsPos;focus* to MyPiC. The points are placed so that they are as distant as possible. For example for 4 points the FCS points are located on 2 orthogonal lines. The user can specify the distance from the boundary of the segmented primary object.
|
|
|
Note that FCS measurements are only performed by the microscope if the plugin sends the command `setFcsPos` or `setFcsPos;focus` to MyPiC. The points are placed with respect to the segmented primary object so that they are as distant as possible. For example for 4 points the FCS points are located on 2 orthogonal lines. The user can specify the distance from the boundary of the segmented primary object. FCS points can be placed only if a single object is chosen (**Number of particle** = 1). The rational is to associate a single image to each FCS measurement corresponding to one cell/object.
|
|
|
|
|
|
<div align = "center" > <img src = './images/AutomatedFCS_GUI_Artboard5.png' width = "400px" > </div>
|
|
|
|
|
|
1. `FCS pts. inside obj` Number of FCS points inside object of interest. The id of these points is *nuc* (nucleus)
|
|
|
2. `# pixel erode` Number of erosion operations of segmented object of interest
|
|
|
3. `FCS pts. outside obj` Number of FCS points inside object of interest. The id of these points is *cyt* (cytoplasm)
|
|
|
4. `# pixel dilate` Number of dilation operations of the segmented object of interest
|
|
|
5. `Update z-pos for FCS` If *Yes* FCS measurments are performed on a new Z-position set from the center of mass of the segmented object of interest
|
|
|
1. **FCS pts. region 1 (inside)**: Number of FCS in a region around the object of interest. The id of these points is *nuc* (nucleus)
|
|
|
2. **# oper. (erode < 0, dilate > 0)**: Number of pixels to erode or dilate depending on the sign. With negative values the FCS points are placed withing the object of interest
|
|
|
3. **FCS pts. region 2 (outside)**: umber of FCS in a region around the object of interest. The id of these points is *cyt* (cytoplasm)
|
|
|
4. **# oper. (erode < 0, dilate > 0)**: Number of pixels to erode or dilate depending on the sign. With positive values the FCS points are placed outside the object of interest
|
|
|
5. **Update z-pos for FCS**: If *Yes* FCS measurments are performed on a new Z-position set from the center of mass of the segmented object of interest
|
|
|
|
|
|
## [<img src="./images/up.PNG">](#back) <a name=save></a> Test and save settings commands
|
|
|
|
|
|
<div align = "center" > <img src = './images/AutomatedFCS_GUI_Artboard6.png' width = "400px" > </div>
|
|
|
|
|
|
1. `Run on file` Test the analysis pipeline on a user defined file. The program will prompt for a file
|
|
|
2. `Load Para` Load parameters from a file named *Automated_FCS.ini*. Such a file is automatically generated after pressing [`Start`](#start).
|
|
|
3. `Save Para` Save parameters to a manually specified **.ini* file
|
|
|
4. `OK` Close window and go back to main window
|
|
|
1. **Run on file**: Test the analysis pipeline on a user defined file. The program will prompt for a file
|
|
|
2. **Load Para**: Load parameters from a file named *Automated_FCS.ini*. Such a file is automatically generated after pressing [**Start**](#start).
|
|
|
3. **Save Para**: Manually save parameters to a **.ini* file
|
|
|
4. **OK**: Close window and return to main window
|
|
|
|
|
|
## [<img src="./images/up.PNG">](#back) <a name=start></a>Start monitoring commands
|
|
|
<div align = "center" > <img src = './images/AutomatedFCS_GUI_Artboard7.png' width = "400px" > </div>
|
|
|
|
|
|
To start the plugin and automatically process files created in the directory to monitor press `Start`.
|
|
|
To start the plugin and automatically process files created in the directory to monitor press **Start**.
|
|
|
|
|
|
To process a whole directory and test the segmentation pipeline press **RunOnDir**.
|
|
|
|
|
|
Segmentation jpg are saved in the directories specified in **Analyze results saving**
|
|
|
|
|
|
|
|
|
If **analyze only new files** is clicked only new generated files are processed. In case you restart MyPiC in the same folder old files need to be deleted. If this option is not on, the plugin looks for changes in the files. In this situation it can occur that the plugin processes one file twice.
|
|
|
|
|
|
|
|
|
## [<img src="./images/up.PNG">](#back) <a name=start></a>Example output for FCS-calibrated imaging
|
|
|
We show an example for Automated FCS using these parameters
|
|
|
|
|
|
<img src = './images/AutomatedFCS_GUI_Artboard2.png' width = "400px" >
|
|
|
|
|
|
Cells express a fluorescent protein and their DNA has been stained with SiR-DNA. The workflow of MyPiC is as following
|
|
|
|
|
|
* Default pipeline:
|
|
|
* task1: A XZ scan to find the reflection of the glass
|
|
|
* task2: A low resolution imaging of the fluorescent protein (Channel 1) and DNA (Channel 2)
|
|
|
* Trigger 1:
|
|
|
* task1: A XZ scan to find the reflection of the glass
|
|
|
* task2: A high resolution imaging of the fluorescent protein (Channel 1) and DNA (Channel 3)
|
|
|
* task3: FCS measurements
|
|
|
|
|
|
If `analyze only new files` is clicked only new generated files are processed. In case you restart MyPiC in the same folder old files need to be deleted. If this option is not on, the plugin looks for changes in the files. In this situation it can occur that the plugin processes one file twice.
|
|
|
The Automated FCS performs:
|
|
|
* Job1: detects cells using the DNA stain. Choose cells where the fluorescent protein is within a certain range. The coordinates of cells that fulfill all criteria are passed to MyPiC to start the Trigger1 pipeline.
|
|
|
|
|
|
Output generated for every processed image | Output generated when objects of interest are found
|
|
|
:--- | :---
|
|
|
<img src = './images/example_output.png' width = "400px" > | <img src = './images/example_output2.png' width = "400px" >
|
|
|
Segmenation of the DNA channel (red) returned 16 ROIs. <br/>Only for ROI 10 and 13 is the intensity of the fluorescent protein (green) within the specified range. | The ROI for the two cells picked are shown in green. <br/> The coordinates are passed to MyPiC to execute the Trigge1 pipleline for each position
|
|
|
|
|
|
* Job2: detects cells using the DNA stain. Chooses the cell closest to the center where the fluorescent protein is within a certain range. Determines the coordinates of the FCS measurements and pass their values to MyPiC. In task 3 of Trigger1 MyPiC will start FCS measurements at these positions.
|
|
|
|
|
|
Output generated for every processed image | Output generated when objects of interest are found
|
|
|
:--- | :---
|
|
|
<img src = './images/example_output3.png' width = "400px" > | <img src = './images/example_output4.png' width = "400px" >
|
|
|
Segmenation of the DNA channel (red) returned 2 ROIs. <br/> For both ROI 1 and 2 is the intensity of the fluorescent protein (green) within the specified range. | In green is picked This is the cell closest to the center. <br/> In red is shown the cells that has not been picked <br/> The coordinates for the two FCS points are passed to MyPiC
|
|
|
|