v0.2.0 - Preliminary software release with new functions for testing
Pre-releaseWARNING: 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.