{"id":20373222,"url":"https://github.com/laulauthom/fiji-qualiannotations","last_synced_at":"2026-05-28T20:31:22.033Z","repository":{"id":55141598,"uuid":"234099796","full_name":"LauLauThom/Fiji-QualiAnnotations","owner":"LauLauThom","description":"Fiji plugins for qualitative image annotations + analysis workflows for image-classification and data-visualization","archived":false,"fork":false,"pushed_at":"2021-04-07T16:44:52.000Z","size":5882,"stargazers_count":2,"open_issues_count":4,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-04T20:44:07.978Z","etag":null,"topics":["annotations","fiji-plugin","ground-truth","image-annotation-tool","image-classification","knime","visualization"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/playlist?list=PLbBgXlYof3_YVqR80jhFPCkc0M3GQMAq4","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LauLauThom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-15T14:36:22.000Z","updated_at":"2022-09-22T13:25:19.000Z","dependencies_parsed_at":"2022-08-14T13:20:15.111Z","dependency_job_id":null,"html_url":"https://github.com/LauLauThom/Fiji-QualiAnnotations","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/LauLauThom/Fiji-QualiAnnotations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauLauThom%2FFiji-QualiAnnotations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauLauThom%2FFiji-QualiAnnotations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauLauThom%2FFiji-QualiAnnotations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauLauThom%2FFiji-QualiAnnotations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LauLauThom","download_url":"https://codeload.github.com/LauLauThom/Fiji-QualiAnnotations/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LauLauThom%2FFiji-QualiAnnotations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33626137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["annotations","fiji-plugin","ground-truth","image-annotation-tool","image-classification","knime","visualization"],"created_at":"2024-11-15T01:17:22.531Z","updated_at":"2026-05-28T20:31:22.007Z","avatar_url":"https://github.com/LauLauThom.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4063891.svg)](https://doi.org/10.5281/zenodo.4063891)\n![Twitter Follow](https://img.shields.io/twitter/follow/LauLauThom?style=social)\n[![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/laurent132.thomas@laposte.net)\n\nThese Fiji plugins allow the __annotations of images or image-regions (outlined by ROI) with user-defined keywords (categories/classes)__.  \nThey can be used to perform routine description of sample images, or to generate ground-truth category annotations for the training of a classifier for instance.  \nBesides qualitative annotations, any measurement as selected in the Fiji `Analyze \u003e set Measurements`menu is reported to the table if the option `run Measure` is selected in the initial configuration window.  \nThe measurements and annotations are reported for the full-image by default.  \nTo annotate ROI, either draw a new one before making a new annotation (it should be the actively selected ROI), or select existing Roi in the RoiManager before annotating. \n\n# Installation\n- Activate the `Qualitative Annotations` update site in Fiji (see [Following an update site](https://imagej.net/Following_an_update_site)).\n- The plugins appear in the `Plugins \u003e Qualitative Annotations` menu\n\n__NB__: The plugins are not compatible with ImageJ, as they rely on some Fiji-specific funcitonalities (script parameters, GenericDialogPlus...)\n\n# Citation\nThe plugins are extensively described in the following article (open-access).  \nSupplementary Figures are available on Zenodo (click the DOI badge at the top of this page).  \n\nThomas LSV, Schaefer F and Gehrig J.   \n_Fiji plugins for qualitative image annotations: routine analysis and application to image classification_   \n[version 2; peer review: 2 approved, 1 approved with reservations]  \nF1000Research 2021, 9:1248   \nhttps://f1000research.com/articles/9-1248  \n\n# Video Tutorials\nCheck the dedicated [youtube playlist](https://www.youtube.com/playlist?list=PLbBgXlYof3_YVqR80jhFPCkc0M3GQMAq4) covering from the introduction of the plugins to the use of the analysis workflows.  \nOr click on the image below to open the first tuto in youtube.  \n\n[![YouTube](https://img.youtube.com/vi/TUzjM7n4fb8/0.jpg)](https://www.youtube.com/watch?v=TUzjM7n4fb8)\n\n\n# Description\nThe update site provides 3 annotations plugins and 2 visualization plugins: \n\n## Annotation plugins\n__NOTE__  \nFor the single-class and checkbox plugins, you can now specify if you want to populate the initial set of categories by :  \n- recalling the values from the previous session (memory)\n- parsing a previous annotation table currently opened in Fiji\n- reading a text file containing 1 category name per row (see [example](https://github.com/LauLauThom/Fiji-QualiAnnotations/blob/category-dialog/Fiji.app/lib/CategoryTextFile.txt))\n\n---\n\n\n- __Single class (buttons)__  \nA single class is associated to each image.  \nThe result table can be chosen to either have a single category column with the name of the assigned category for each image.  \nOr like with the checkbox annotation plugin, the table can have one column per category with 0/1 for negative/positive cases.\n\u003cimg src=\"https://github.com/LauLauThom/Fiji-QualiAnnotations/blob/master/images/Button-Plugin.png\" alt=\"Plugin-Button\" width=\"1250\" height=\"300\"\u003e     \n\n- __Multi-class (checkboxes)__  \nAn image can be assigned to multiple descriptive keywords.    \nThe result table contains 1 column per category with 0 if the image is not in the category and 1 if it is.\n\n- __Multi-class (dropdown)__  \nThis plugin allows to describe multiple features and for each features to have a list of choices.  \nWhen started, the plugin requires a comma-separated value (csv, with comma or semi-column separator) file or tsv (tab-separated) value file with the name of the features and the associated choices.  \nSuch files can be easily generated in a tabular software like excel (just select \"Saving as csv\").  \nAn example of csv is shipped with the update site, and should be in your Fiji installation at *Fiji.app/lib*.  \nAlso see the [example input files](https://github.com/LauLauThom/Fiji-QualiAnnotations/tree/master/Fiji.app/lib) (click the \"raw\" button to see the file content) and the associated [wiki section ](https://github.com/LauLauThom/Fiji-QualiAnnotations/wiki/Input-for-the-dropdown-plugin).  \n\u003cimg src=\"https://github.com/LauLauThom/Fiji-QualiAnnotations/blob/master/images/Dropdown-plugin.png\" alt=\"Plugin-dropdown\" width=\"1000\" height=\"300\"\u003e     \n\n## Visualization plugins\n\n- __Pie Chart from data-column__  \nAllows the visualization of the data-distribution from a table column in Fiji.  \nThe plugin uses the JFreeChart library and is macro-recrodable.  \nSee Supplementary Figure 2 on Zenodo (click the DOI link at the top of this page).   \n__NOTE__: As pointed out on [Twitter](https://twitter.com/MarionLouveaux/status/1362145060922482689), it's difficult to distinguish pie charts section with similar sizes, while it's more obvious with a bar chart\n\n- __Bar Chart from data-column__  \nSimilar to the Pie chart plotting. With this one you get one bar per category, which is a bit more readable if the population for each bar have similar sizes.  \n\n# Annotate image-regions with ROI\nYou can annotate image-regions by either drawing a new roi or selecting one or multiple existing ROI stored in the RoiManager before clicking the \"Add\" or category button.  \nNewly drawn roi are automatically added to the Roi Manager.  \nThe name of the ROI(s) is thus appended to the result table in a dedicated ROI column.  \n\nBesides, the annotations and measurements (if selected) are saved in the ROI object as properties.  \nThey can be retrieved using scripting or macro-programing via `Roi.getProperty(key)` or `Roi.getProperties()`.  \nWith scripting languages, replace Roi with the roi-instance of interest.  \n`key` here should be one of the column header of the corresponding annotation table, so if you selected `run Measure` and Mean intensity was selected in Fiji measurement, you can recover `Roi.getProperty(\"Mean\")`.  \n\n\n# KNIME Worfklows\nYou can find examples of analysis from the annotation table with KNIME in the `KNIMEworkflows` folder.  \nThe workflows are documented with README files in their respective folders, especially pay attention to which annotation table is expected by the workflow (ie generated with which plugin).  \nTo use the worklfows, simply download the knwf file and double-click it to open it in KNIME.   \nTo download all the workflows at once from GitHub, either clone the repository, or if you dont have github, choose download as zip.  \nTo download a single workflow from GitHub, click the workflow file and choose download on the next page.  \nThe workflows can also be downloaded directly from the [KNIME Hub](https://hub.knime.com/l.thomas/spaces/Exploitation%20of%20qualitative%20image%20annotations/latest/).   \n\nCurrently there are workflows for:\n- [__Image and annotation vizualization__](https://github.com/LauLauThom/Fiji-QualiAnnotations/tree/master/KNIMEworkflows/ViewImagesAndAnnotations)   \nSimply view the image and their annotation in a table. That should be the starting point if you are not familiar with KNIME\n\n- [__Sunburst chart__](https://github.com/LauLauThom/Fiji-QualiAnnotations/tree/master/KNIMEworkflows/SunburstPlot)    \nView the distribution of the qualitative features as concentric circles (like a multi-level pie chart)  \n\n-  [__Deep learning classification__](https://github.com/LauLauThom/Fiji-QualiAnnotations/tree/master/KNIMEworkflows/DeepLearning-Classification)    \nWorkflows for the training of a deep-learning model for image-classification (1 class per image), there are 2 subfolders wether the images can be classified into 1 class out 2 classes (binary) or into 1 class out of 2 or more classes (multi-class).     \nWorkflows for the prediction given a trained network are also provided.  \nAlso see the wiki page about the [Keras Network learner node](https://github.com/LauLauThom/Fiji-QualiAnnotations/wiki/Keras-Network-Learner-node), and Supplementary Figure 4 and 5 on Zenodo.   \n\n# Example dataset  \n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3997728.svg)](https://doi.org/10.5281/zenodo.3997728)  \nAn example of images from a related screening project in Zebrafish is available on Zenodo.  \nThe Zenodo repository contains a zip archive with the images, ground-truth category annotations for the images (generated with the plugins) and a trained deep-learning model for classification of the images.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaulauthom%2Ffiji-qualiannotations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaulauthom%2Ffiji-qualiannotations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaulauthom%2Ffiji-qualiannotations/lists"}