-
Notifications
You must be signed in to change notification settings - Fork 1
License
pintomollo/cast
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
% README.txt % A few expanations on how to use CAST % % Gonczy & Naef labs, EPFL % Simon Blanchoud % 20.11.2014 % % contact: felix.naef@epfl.ch Hi ! This set of functions (so-called CAST: Cell Automated Segmentation and Tracking platform) are designed to provide an intuitive user interface for the automated segmentation, tracking and quantification of time-lapse fluorescence/luminescence data. All functions can be accessed directly using command-lines, however it is designed to be used through the main interface function "CAST_GUI". This program is distributed under the terms of the GNU GPL, please refer to LICENSE.txt for details. % Reference: Blanchoud et al., Methods, 2015 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 0. Basics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - This software has been developped and tested using Matlab 2012b and requires both a C/C++ compiler and the Image Processing Toolbox (tested using v. 8.1). - For installing this plateform, please follow the instructions in INSTALL.txt. - All functions have a corresponding help message that describes its function, inputs and outputs. Type "help myfunction" in the command line to read it. - A list of all available functions along with a short description of their purpose is available in CONTENT.TXT - Data are stored within Matlab using structures. This should be completely transparent to the user. However, if need be, their respective definitions can be found in cast/helpers/get_struct.m. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1. Starting up an experiment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - Once the install has been successful, call "CAST_GUI" from Matlab. - On the opened window, one can either: - Load a previous experiment : Upper right button "Load" - Create a new experiment : Upper right button "New Experiment" - Load new data : Upper right button "Load Recording" - As an example, let's start by pressing "Load Recording" ! - And choose the sample recording located in "cast/sample_signal.ome.tif". - Note that if the the data you are trying to load is not successfully converted by CAST, you should convert it manually to a TIFF stack. To do so, a simple approach is to use the LOCI library for ImageJ: http://www.openmicroscopy.org/site/support/bio-formats5/users/imagej/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 2. Preprocessing your data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - This step allows you to remove artefacts from your raw data and thus spare some computing time during the analysis/quantification step. - In this GUI, you can define the following properties of your recording: - Experiment Name : Top text field (used also when saving/exporting data) - Channel Type : Top right drop-down list - Colormap : Middle right "Colormap" button (for visualization) - In addition, you can perform the following actions: - Add/Remove Channels : Lower left buttons - Navigate through the recording : Lower slider - Drag/Zoom the images : Leave the mouse on "Experiment Name" for a few seconds to read the corresponding help message - The various filters available are listed on the right of the image panels: - Detrend : Removes a trend in the image (e.g. non-uniform illumination) - Cosmic rays : Removes cosmic rays in luminescence data - Hot pixels : Removes hot-pixels (i.e. defective) of the camera sensor - Normalize : Normalizes the image range between 0 and 1 - A simple way to identify artefacts is by using the "Difference" visualization on the right image panel. They will pop-up as white patches. - Check then that the filtering does remove these artefacts by comparing them with the "Difference" on the left panel, the white patches should be similar to those on the right panel. - Once you're happy with the current filtering, simply apply it y clicking "OK". - If you're following the example, then the type of data you just loaded should be changed to "luminescence", and the filtering applied on the sample data should be a bit too strong (i.e. more white on the left than on the right panels). So let's tune the parameters of the filters ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 2. Editing parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - In all GUIs, you can edit the parameter values by clicking on "Edit parameters" (Middle right button). Each GUI gives you access to the parameters specific to the corresponding step of the analysis, with an exception for the main GUI showing you the general option structure. - In addition, you can save/load the current option structure using the corresponding buttons (Lower right buttons). You can also manually edit these configuration files (located in "cast/Conf"). See example_params.txt for an explanation on the syntax of these files. - When editing parameters, a help message will pop-up if you leave the mouse cursor over the corresponding name for a few seconds. - To tune the filtering of the sample data, let's set "cosmic_rays_threshold" to 25. Then click "OK" twice (and be patient, that's gonna be only once !). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3. Editing global parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - Once the preprocessing of your data has been performed, the GUI for editing the global parameters of your reocrding will open. Because the CAST works with um and seconds units, it is important that both the XY and the time resolutions of the recording are properly set ! - XY : binning * ccd_pixel_size / magnification - time : time_interval - You can edit these parameters afterwards by clicking "Edit parameters" from the main GUI window. - The default parameters are already correct for the sample data. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3. Segmenting your data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - Clicking "Segment Recording" on the main GUI will bring you to the segmentation window. - In this window, you can perform the following actions: - Select the segmentation algorithm (i.e. "Type") : Top right drop-down list - Filter the images (i.e. for the detection step only) : Right checkboxes - Compare the resulting filtered and raw images : Lower left radio buttons - Visualize the detections : Lower right radio buttons - If the type of channel has been selected as "luminescence", the "multiscale_gaussian_spots" segmentation type will automatically be selected, otherwise, select it manually. - Note that it is generally easier to track data that are over-segmented rather than under-segmented. - If you are segmenting the sample data, the detection algorithm should be a bit too sensitive (i.e. too many red circle). Let's tune the parameters a bit then ! - Remove larger cells : Reduce "filter_max_size" to 5 - Remove empty detections: Increase "filter_min_intensity" to 25 - Note that these parameters affect the filtering of the detections and NOT the actual detection algorithm. To tune the detection algorithm itself, you should first remove the filtering step (uncheck "Filter spots" on the right), and then play with the following parameters: - atrous_max_size : Size of the detected spots - atrous_thresh : Intensity of the detected spots - Confirm using "OK", and wait (a bit less now !). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 4. Tracking cells %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - Clicking "Track Cells" on the main GUI will bring you to the tracking window. - In this window, you can visualize the frame-to-frame cell tracking using the two lower radio button groups. Note that it is not possible at this step to visualize the gap bridging/merging/splitting steps of the tracking algorithm. - The main parameters of the tracking algorithm to be tuned are: - spot_max_speed : Maximal distance between two frames - min_section_length : Minimal length of a track for it to be kept - bridging_max_gap : Maximal number of "missing" frames for a gap to bridge over - In addition, using an empty field for the "*_function" will remove the corresponding step of the tracking algorithm (if needed). - If using the sample data, the provided parameter values should be optimal. However, when analyzing longer recordings, increasing "min_section_length" should remove noisy spurious detections. - Confirm using "OK", and wait (almost instantaneous at this stage ;) !). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 5. Filtering tracks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - Clicking "Filter Paths" on the main GUI will bring you to the filtering window. - In this window, you can perform the following actions: - Decide whether you want to reestimate the spots : Middle right checkbox - Filter short (hence usually wrong) tracks : "Edit parameters" - Confirm using "OK", and some more wait ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 6. Exporting results %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - You can export the results of your analysis (only when the pull pipeline has been run, i.e. after the track filtering) using the top-right button "Export". - The exported data will be stored in the "Export" folder. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 7. Adding new features %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - If you want to add some features to this plateform, the code is fully commented and should be quite self-explanatory ! - In particular, to add another segmenting approach, you should: - Add the new function(s) in "cast/modules". - Add the corresponding choice in "cast/pipeline/perform_step.m" - Add the new segmentation approach to the drop-down list of the segentation GUI ("cast/GUI/inspect_segmentation.m", l. 501): - Only make sure that the input/ouput variables type and formats stay the same ! - You can also define new colormaps for your favorite data by modifying the 'colors' structure in "cast/helpers/get_struct.m". - Good luck and have fun segmenting ! Cheers, Simon
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published