Releases: hansenjn/CiliaQ
v0.2.1 - Fixing bug in previous version (v0.2.0)
Fixed the bug that let the software crash when there are more cilia than basal bodies.
v0.2.0 - Preliminary software release with new functions for testing
WARNING: DO NOT INSTALL OR USE THE SOFTWARE FROM THIS RELEASE UNLESS YOU ARE A BETA TESTER!
This new version has not extensively been tested and this release is just created to allow selected people to carefully test it.
Only a few tests for a few applications and images have been run yet.
Do not use this version but use the stable version v0.1.7 instead!
New in version v0.2.0
-
Headless mode implemented as requested in #17. From now on the software should be able to be called in a headless ImageJ through a macro, e.g., on a server without a GUI. Also, a macro string that is functional will be recorded when running CiliaQ and having the Macro recorder activated:
-
Improved basal body detection - issue #16: In previous versions, orienting the cilium based on the basal body stain often did not work since the intensity was determined within a large radius of 3 micron around the skeleton end points to decide where the basal body is. Thus, for cilia under 3 micron, this often did not work. Thus, in this version the radius was reduced to 1 micron to give more accurate results.
-
Improved error handling, e.g., for when a non-saved image is processed.
-
Improved code to better understand errors like #15, which might however still not be fixed but did not yet occur again.
-
Basal body tracking and inclusion into the ciliary skeleton - issue #16: Significant progress has been made for this option and it has been implemented for 3D images (implementation for 4D images is still pending and not finished). Thus, this version should be only applied for 3D (no time-lapse) images. The new methods can be controlled in a separate startup dialog (if it is indicated by the user that the basal body channel is segmented).
- If the option is applied to detect basal bodies from the segmentation, basal body objects will be identified as objects, and reduced to their center points. Next these center points serve as basal body coordinates. They are then used to elongated the cilium skeleton at the end closer to the basal body until the basal body center, which allows more accurate length measurements even for super short cilia. If a cilium had no skeleton, the center x,y,z coordinate is connected to the basal body center x,y,z coordinate to form a skeleton.
- Next, basal body intensity parameters are determined in channels A and B:
- Basalbody center A/B intensity
- A/B intensity within 1 micron to basal body (in 3D)
- A/B intensity 1-2 micron to basal body (in 3D)
- Currently only one assignment option is implemented for matching basal bodies and cilia. This is based on a linear assignment problem and was solved with a "hungarian algorithm" implementation by (c) 2012 Kevin L. Stern, copied from https://github.com/KevinStern/software-and-algorithms/blob/master/src/main/java/blogspot/software_and_algorithms/stern_library/optimization/HungarianAlgorithm.java, as permitted by the license terms printed in the code for this algorithm. This algorithm is run on a distance matrix between basal body and cilia that is optimized to force close connections and neglect long range connections above the threshold set by the user.
- If the user wants to, they can decide to remove unmatched items. If basal bodies without cilia are kept, these are added as new cilia object without cilium properties, and will show up in the results table with basal body parameters only.
-
Add a warning dialog in the beginning that informs about that a new version with new features is used but that can also be silenced.
-
The common output txt files CQ.txt and CQs.txt no longer contains ciliary intensity profiles since that makes machine-based reading of the files cumbersome, and since they can be much better read and processed from the CQl.txt output.
v0.1.7 Improved length measurements, speed, and output
News
- Improved skeletonization for better length estimates, intensity profiles, orientation vectors, ...: In this new version, length measurements were improved to be even more precise than before, in particular for 2D images with small cilia (issue #13). However, as a consequence, length measurements obtained by this version slightly differ compared to measurements conducted with previous versions.
Do not mix any skeleton-related data (e.g., length, bending index, intensity profiles) obtained with this version with data obtained with previous versions, or vice versa. Otherwise, your merged data set may be biased by the difference in methodology across versions!
If your CiliaQ automatically upgraded and you need to reinstall a previous version of CiliaQ to finish an old analysis, follow this instruction in the wiki.
- For non-timelapse images, the generated 3D files are now stored as a .png file instead of .tif to reduce the storage space required by the output files.
- Garbage collection was improved (less garbage collection calls) to further speed up the program.
More details about the length measurements
What happened in previous versions:
To well estimate the length of very small, sub-diffraction-limited objects such as cilia, CiliaQ upscales (3-fold) and blurs each cilium object before skeletonizing it in order to determine the cilium length. To conduct these image processing steps in an efficient manner, CiliaQ generates a new small image for each cilium that is just a little bit wider than the original cilium, reducing the size of the image that needs to be processed and thereby, speeding up the process. Since CiliaQ was originally developed for 3D images only, it was implemented that a 3D image with additional empty planes on top and bottom was generated in this step. Thus, skeletonization for 2D images was also performed in 3D. Since the images was upscaled in this process, also 2D images were scaled in 3D and extra planes were generated between the empty planes on top and bottom and the original 2D plane to upscale the image in 3D. In the following the Gaussian blur was applied. Since extra space in x and y directions was a fixed number of a few pixels in these images, bluring, depending on the size of the blur, could result in widening the objects until the image boundaries, when the image size was too small for a large blur (edge effects).
All these steps could unpredictably introduce small biases into the length measurements of in particular 2D cilia. Since 3D images were generated from the 2D cilia, a tiny elongation of the skeleton, extra branches, or shortcuts could occur. In addition effects at the edges due to a "too small" image for a "too large" blur could slightly elongate or shorten detected cilia lengths. These inaccuracies due to edge effects particular affect the measurements of very short cilia and not so much long cilia. In long cilia a slightly longer length measurement would not largely change the cilium size in relative terms (changes may be just a few percent compared to the length of the cilium). In small cilia, a slightly longer length measurement would drastically change the cilium length in relation to to the small cilium size (could change the length measurement by 100-200%).
What has been changed in the length measurements for this version:
The new version of CiliaQ does no longer determine the skeleton in 3D for 2D images. Instead all steps are performed in 2D only. Besides that, the new version of CiliaQ adds sufficient extra space in all directions when generating the individual cilia images for length measurements, avoiding edge effects as described above.
Both of these improvements result in a much more accurate length detection compared to previous versions.
Version v0.1.4 - new outputs (curvature, tangent vectors)
How to install the new version?
Visit the CiliaQ wiki entry: How to install a new version of a CiliaQ plugin?
Release notes:
Compatible with previous versions
All output data are fully compatible to the previous version - if you started analyzing your data set with the previous version of CiliaQ you can go on with this version and still merge data from both analysis (unless you wish to start looking into the two new parameters - see below).
New features
Improved dialogs for entering settings
- Two-step dialog to allow seeing the whole dialog even on a small screen.
- Help button that brings you directly to the CiliaQ github page.
- Save time and avoid errors when entering settings - load preferences from a previous CiliaQ analysis.
- A new parameter needs to be set for calculating the two new parameters tangent vector and curvature:
.
Note: if you do not plan to look into tangent vectors or the curvature just ignore the parameter and leave it to the default value
More information on how to set the parameter is available in the new version of the User Guide.
New output file (Ending: CQl.txt or CQ_ANALYSIS DATE AND TIME l.txt) for post-hoc analysis of the ciliary skeleton
Tab-delimited text-file that can be readily imported for post-hoc analysis, e.g. in R. It already provides the format suitable for conversion into a data.frame in R and plotting of that data.frame via ggplot2. In the text-file, data on the location of every individual ciliary skeleton point is provided (Cilium ID, Point ID, X,Y,Z,T coordinates, arc length position) with intensity values and two new output parameters:
- tangent vector
- geometric curvature
For more information on the use of the parameters check the new version of the User Guide.
Example for a CQl.txt output file:
Issues fixed
- Issue #6.
Version v0.1.3 - Correct bug in 3D visualization of skeletons
In the previous versions, 3D visualization of the skeleton image failed or an incorrect image was generated. This bug is now fixed with version v0.1.3.
Version 0.1.2 - Partially fxing issue #5
In this release, the code for 3D visualizations has been restructed to avoid issue #5. Issue #5 could not be reproduced any more with this version but might still occur. However, from now on, when issue #5 occurs, CiliaQ does no longer stop working but will continue without saving the 3D visualization.
Version 0.1.1 - allow file selection in Multi-Task-Manager on Mac OS
From now on CiliaQ is launchable through the plugins menu entry "CiliaQ":
Plugins > CiliaQ > CiliaQ v0.1.1
In previous versions, a bug emerged in the file selection dialog from multi-task-manager when CiliaQ was used on Mac OS X, prohibiting selection of files for analysis. This bug is fixed with version v0.1.1.
Version 0.1.0 - new output parameters: colocalized on centerline
This version introduces two new output parameters per intensity channel (A, B):
- Colocalized on centerline compared to BG volume [micron]: the number of segments of the intensity profile that are higher than the automatically determined background intensity threshold, multiplied with the stepsize of the profile, i.e. the pixel length in the xy dimension.
- Colocalized on centerline compared to BG volume [% total length]: the number of segments of the intensity profile that are higher than the automatically determined background intensity threshold, divided by the total number of segments of the intensity profile and multiplied with 100.
All other output parameters are compatible with previous versions v0.0.6 to v0.0.10.
Version 0.0.10 - implementing pattern detection as function
Introduces a new option into the "multi-task manager" that allows to retrieve all files from a directory whose names match to a certain pattern to be processed by CiliaQ. Function implemented by sRassman (see pull request). All results from versions v0.0.6 to v0.0.10 are compatible.
Version 0.0.9 - bugfix for issue #2
The bug reported in issue #2, where CiliaQ stopped working when analyzing some images, was fixed. All results from versions v0.0.6 to v0.0.9 are compatible.