Team:ETHZ Basel/InformationProcessing/InformationFlow

From 2010.igem.org

(Difference between revisions)
(References)
 
(15 intermediate revisions not shown)
Line 4: Line 4:
= Information Flow =
= Information Flow =
== Information Acquisition ==
== Information Acquisition ==
-
[[Image:MicroscopePipeline.jpg|thumb|400px|The imaging pipeline from the microscope to Matlab/Simulink]]
+
 
-
The microscope is connected to a workstation using the core drivers and interfaces of μManager (see [1] or [http://www.micro-manager.org [2]]). To provide a mechanism to change the cell's input signal depending on its fluorescence signal, we developed the microscope software μPlateImager, which enables for parallel acquisition of images and the modification of light input signals. μPlateImager uses the Java interface of the μManager core to control the microscope and can be configured by a separate platform-independent visual user interface. Since the communication with the microscope already requires a significant amount of system resources, it was necessary to swap the image processing, cell detection, and controller part to a second workstation to increase the possible frame rate. μPlateImager can therefore be controlled over the network or the internet by a GUI (graphical user interface). This GUI uses the yet undocumented Java MATLAB Interface (JMI) to start up a Matlab process based on the open source project matlabcontrol (see [http://code.google.com/p/matlabcontrol/]). It furthermore starts up a Simulink model and transfers the microscope control to several of the blocks of the Lemming Toolbox, a Simulink toolbox allowing for the block based interconnection of the main controller and image processing parts, like cell detection, tracking the visualization or the like.
+
===μPlateImager===
-
<br clear="all">
+
 
 +
[[Image:MicroscopePipeline.jpg|thumb|400px|'''The imaging pipeline from the microscope to Matlab/Simulink.''' Images obtained from the microscope are sent through the network to the client, where they are processed. The connection between the server and the client is mediated by the &mu;PlateImager microscope software. ]]
 +
The microscope is connected to a workstation using the core drivers and interfaces of &mu;Manager (see [[Team:ETHZ Basel/InformationProcessing/InformationFlow#References| [1]]] or [http://www.micro-manager.org [2]]). To provide a mechanism to change the cell's input signal depending on the direction towards which it is swimming, we developed the microscope software &mu;PlateImager, which enables the parallel acquisition of images and the modification of light input signals.
 +
 
 +
&mu;PlateImager uses the Java interface of the &mu;Manager core to control the microscope and can be configured by a separate platform-independent visual user interface. Since the communication with the microscope already requires a significant amount of system resources, it was necessary to swap the image processing, cell detection, and controller part to a second workstation to increase the possible frame rate.
 +
 
 +
&mu;PlateImager can be controlled over the network or the Internet by a GUI (graphical user interface). This GUI uses the yet undocumented Java MATLAB Interface (JMI) to start up a Matlab process, based on the open source project matlabcontrol (see [http://code.google.com/p/matlabcontrol/ [3]]). It furthermore starts up a Simulink model and transfers the microscope control to several of the blocks of the [[Team:ETHZ_Basel/Achievements/Matlab_Toolbox| Lemming Toolbox]].
== Information Processing ==
== Information Processing ==
-
[[Image:Simulink.jpg|thumb|400px|Graphical user interface with which the image analysis pipeline and the control algorithm can be defined]]We constructed a Simulink model based on the Lemming Toolbox. The model consists of several blocks representing the single steps of the image analysis, the controller and blocks enabling the control of the microscope. Since it contains several feedback loops, we here only give an overview over the main information flow, skipping some of the however important connections.  
+
We constructed a Simulink model based on the [[Team:ETHZ_Basel/Achievements/Matlab_Toolbox| Lemming Toolbox]]. The model consists of several blocks representing the single steps of image analysis and controller and blocks enabling the microscope control. Since it contains several feedback loops, we here only give an overview over the main information flow, skipping some of the however important connections.  
-
First, the microscope block triggers &mu;PlateImager and thus indirectly the microscope to make an out-of focus image and sends this image to the cell detection block. Based on a user definable threshold the cell detection block returns the positions of the cells having the highest score. These positions are send to the Cell Tracking block, which compares the positions of the detected cells with those of in previous frames detected cells. If the distance of a currently detected cell from its position in one of the previous frames is smaller than a threshold, the block assigns the same unique ID (UID) to the cell, otherwise a new UID is generated. Furthermore the cell tracking algorithm allows the cell to persist for several successive frames if it gets lost. The cell positions together with their UIDs is send to the Cell Selection block. This block determines the direction of the currently selected cell by calculating its change of its actual position compared to its position a few frames before. Furthermore it allows the user to switch between the cells with the help of the buttons of a connected joystick.
+
=== Simulink blocks ===
 +
[[Image:realTimeModel.jpg|thumb|400px|'''Overview of the Simulink Blocks of the Information Processing path.''' The Simulink Blocks we created allow us to combine the image analysis pipeline, the user's input, the control algorithm and the visualization''']]
 +
First, the microscope block triggers &mu;PlateImager and therefore the microscope is indirectly triggered. An out-of focus image is taken by the microscope and sent by &mu;PlateImager to the cell detection block. Based on a user definable threshold, the [https://2010.igem.org/Team:ETHZ_Basel/InformationProcessing/CellDetection '''Cell Detection Block'''] returns the current positions of the cells having the highest score. These positions are send to the [https://2010.igem.org/Team:ETHZ_Basel/InformationProcessing/CellDetection '''Cell Tracking Block'''], which compares the positions of the currently detected cells with the positions of the cells detected in the previous frames. If the distance of a currently detected cell from its position in one of the previous frames is smaller than a threshold, the block assigns the same unique ID (UID) to the cell, otherwise a new UID is generated. Furthermore the cell tracking algorithm allows the cell to persist for several successive frames if it gets lost.  
-
With the joystick the user furthermore defines a reference direction, which serves together with the actual direction of the E. lemming as the input for the Controller block. This controller calculates, depending on the actual and previous direction of the E. lemming and the reference direction if red light or far-red light should be activated. This information is passed to the Red Light and Far-Red Light blocks, which trigger &mu;Manager and therewith the microscope to activate or deactivate the light sources.
+
The cell positions, together with their UIDs are sent to the '''Cell Selection Block'''. This block determines the direction of the currently selected cell by calculating the change in position by comparing its current position to the position it had in the previous frames. Furthermore, it allows the user to switch between the cells with the help of the buttons of a connected joystick.
-
The Stage Control block gets as input the current position of the E. lemming and decides if the E. lemming is on the verge of moving out of the field of view. If so, it induces the x/y-stage of the microscope to change for a defined amount of &mu;m. The current stage position is passed to the Cell Tracking Block as an additional input to allow for the tracking of cells over a long distance.
+
With the joystick the user defines a reference direction, which serves, together with the actual direction of the E. lemming, as input for the '''Controller Block'''. The controller calculates, depending on the actual and previous direction of the E. lemming and the reference direction, if red light or far-red light should be activated. This information is passed to the '''Red Light Block''' and '''Far-Red Light Block''', which trigger &mu;Manager, therewith the microscope, to activate or deactivate the light sources.
-
Finally, several of the previous described blocks outputs are passed to the Visualization block, which displays all information on the computer screen or the beamer.<br clear="all">
+
The '''Stage Control Block''' gets as input the current position of the E. lemming and decides if the E. lemming is on the verge of moving out of the field of view. If so, it induces the x/y-stage of the microscope to change for a defined amount of &mu;m. The current stage position is passed to the '''Cell Tracking Block''' as an additional input to allow for the tracking of cells over a long distance.
 +
 
 +
Finally, several of the previous described blocks' outputs are passed to the [https://2010.igem.org/Team:ETHZ_Basel/InformationProcessing/Visualization '''Visualization Block'''], which displays the received information on the computer screen or the beamer.<br clear="all">
=References=
=References=
-
[1] Stuurman et al. 2007
+
[1] [http://jcs.biologists.org/cgi/content/full/120/21/3715 Wollman and Stuurman: High throughput microscopy: from raw images to discoveries. 2007. Journal of Cell Science. 120 (21). p3715-22].
 +
 
 +
[2] http://www.micro-manager.org/
 +
 
 +
[3] http://code.google.com/p/matlabcontrol/

Latest revision as of 22:50, 27 October 2010

Information Flow

Information Acquisition

μPlateImager

The imaging pipeline from the microscope to Matlab/Simulink. Images obtained from the microscope are sent through the network to the client, where they are processed. The connection between the server and the client is mediated by the μPlateImager microscope software.

The microscope is connected to a workstation using the core drivers and interfaces of μManager (see [1] or [2]). To provide a mechanism to change the cell's input signal depending on the direction towards which it is swimming, we developed the microscope software μPlateImager, which enables the parallel acquisition of images and the modification of light input signals.

μPlateImager uses the Java interface of the μManager core to control the microscope and can be configured by a separate platform-independent visual user interface. Since the communication with the microscope already requires a significant amount of system resources, it was necessary to swap the image processing, cell detection, and controller part to a second workstation to increase the possible frame rate.

μPlateImager can be controlled over the network or the Internet by a GUI (graphical user interface). This GUI uses the yet undocumented Java MATLAB Interface (JMI) to start up a Matlab process, based on the open source project matlabcontrol (see [3]). It furthermore starts up a Simulink model and transfers the microscope control to several of the blocks of the Lemming Toolbox.

Information Processing

We constructed a Simulink model based on the Lemming Toolbox. The model consists of several blocks representing the single steps of image analysis and controller and blocks enabling the microscope control. Since it contains several feedback loops, we here only give an overview over the main information flow, skipping some of the however important connections.

Simulink blocks

Overview of the Simulink Blocks of the Information Processing path. The Simulink Blocks we created allow us to combine the image analysis pipeline, the user's input, the control algorithm and the visualization

First, the microscope block triggers μPlateImager and therefore the microscope is indirectly triggered. An out-of focus image is taken by the microscope and sent by μPlateImager to the cell detection block. Based on a user definable threshold, the Cell Detection Block returns the current positions of the cells having the highest score. These positions are send to the Cell Tracking Block, which compares the positions of the currently detected cells with the positions of the cells detected in the previous frames. If the distance of a currently detected cell from its position in one of the previous frames is smaller than a threshold, the block assigns the same unique ID (UID) to the cell, otherwise a new UID is generated. Furthermore the cell tracking algorithm allows the cell to persist for several successive frames if it gets lost.

The cell positions, together with their UIDs are sent to the Cell Selection Block. This block determines the direction of the currently selected cell by calculating the change in position by comparing its current position to the position it had in the previous frames. Furthermore, it allows the user to switch between the cells with the help of the buttons of a connected joystick.

With the joystick the user defines a reference direction, which serves, together with the actual direction of the E. lemming, as input for the Controller Block. The controller calculates, depending on the actual and previous direction of the E. lemming and the reference direction, if red light or far-red light should be activated. This information is passed to the Red Light Block and Far-Red Light Block, which trigger μManager, therewith the microscope, to activate or deactivate the light sources.

The Stage Control Block gets as input the current position of the E. lemming and decides if the E. lemming is on the verge of moving out of the field of view. If so, it induces the x/y-stage of the microscope to change for a defined amount of μm. The current stage position is passed to the Cell Tracking Block as an additional input to allow for the tracking of cells over a long distance.

Finally, several of the previous described blocks' outputs are passed to the Visualization Block, which displays the received information on the computer screen or the beamer.

References

[1] Wollman and Stuurman: High throughput microscopy: from raw images to discoveries. 2007. Journal of Cell Science. 120 (21). p3715-22.

[2] http://www.micro-manager.org/

[3] http://code.google.com/p/matlabcontrol/