Skip to content

Commit 0464900

Browse files
committed
Update task list and manifest for Fuse Touching Labels task.
1 parent cbca5a3 commit 0464900

File tree

3 files changed

+99
-0
lines changed

3 files changed

+99
-0
lines changed

src/scmultiplex/__FRACTAL_MANIFEST__.json

+74
Original file line numberDiff line numberDiff line change
@@ -1691,6 +1691,80 @@
16911691
"title": "ApplyZIlluminationCorrection"
16921692
},
16931693
"docs_link": "https://github.com/fmi-basel/gliberal-scMultipleX"
1694+
},
1695+
{
1696+
"name": "scMultiplex Fuse Touching Labels",
1697+
"category": "Image Processing",
1698+
"tags": [
1699+
"2D"
1700+
],
1701+
"docs_info": "### Purpose\n- Fuse touching labels in segmentation images, in 2D or 3D. Connected components are identified during labeling\n based on the connectivity argument. For a more detailed explanation of 1- or 2- connectivity, see documentation\n of skimage.measure.label() function. When set to None (default), full connectivity (ndim of input array) is used.\n\n- Input is segmentation image with 0 value for background. Anything above 0 is assumed to be a labeled object.\n Touching labels are labeled in numerically increasing order starting from 1 to n, where n is the number of\n connected components (objects) identified.\n\n- This task has been tested for fusion of 2D MIP segmentation. Since fusion must occur on the full well numpy\n array loaded into memory, performance may be poor for large 3D arrays.\n\n### Outputs\n- The fused label image is saved as a new label in zarr, with name {label_name_to_fuse}_fused.\n- The new ROI table for the fused label image is saved as a masking ROI table, with name\n {label_name_to_fuse}_fused_ROI_table.\n",
1702+
"executable_non_parallel": "fractal/init_select_many_rounds.py",
1703+
"executable_parallel": "fractal/fuse_touching_labels.py",
1704+
"meta_parallel": {
1705+
"cpus_per_task": 4,
1706+
"mem": 16000
1707+
},
1708+
"args_schema_non_parallel": {
1709+
"additionalProperties": false,
1710+
"properties": {
1711+
"zarr_urls": {
1712+
"items": {
1713+
"type": "string"
1714+
},
1715+
"title": "Zarr Urls",
1716+
"type": "array",
1717+
"description": "List of paths or urls to the individual OME-Zarr image to be processed. (standard argument for Fractal tasks, managed by Fractal server)."
1718+
},
1719+
"zarr_dir": {
1720+
"title": "Zarr Dir",
1721+
"type": "string",
1722+
"description": "path of the directory where the new OME-Zarrs will be created. Not used by this task. (standard argument for Fractal tasks, managed by Fractal server)."
1723+
},
1724+
"select_acquisitions": {
1725+
"items": {
1726+
"type": "integer"
1727+
},
1728+
"title": "Select Acquisitions",
1729+
"type": "array",
1730+
"description": "List of rounds to which correction should be applied, list of integers."
1731+
}
1732+
},
1733+
"required": [
1734+
"zarr_urls",
1735+
"zarr_dir",
1736+
"select_acquisitions"
1737+
],
1738+
"type": "object",
1739+
"title": "InitSelectManyRounds"
1740+
},
1741+
"args_schema_parallel": {
1742+
"additionalProperties": false,
1743+
"properties": {
1744+
"zarr_url": {
1745+
"title": "Zarr Url",
1746+
"type": "string",
1747+
"description": "Missing description"
1748+
},
1749+
"label_name_to_fuse": {
1750+
"default": "org",
1751+
"title": "Label Name To Fuse",
1752+
"type": "string",
1753+
"description": "Missing description"
1754+
},
1755+
"connectivity": {
1756+
"title": "Connectivity",
1757+
"type": "integer",
1758+
"description": "Missing description"
1759+
}
1760+
},
1761+
"required": [
1762+
"zarr_url"
1763+
],
1764+
"type": "object",
1765+
"title": "FuseTouchingLabels"
1766+
},
1767+
"docs_link": "https://github.com/fmi-basel/gliberal-scMultipleX"
16941768
}
16951769
],
16961770
"has_args_schemas": true,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### Purpose
2+
- Fuse touching labels in segmentation images, in 2D or 3D. Connected components are identified during labeling
3+
based on the connectivity argument. For a more detailed explanation of 1- or 2- connectivity, see documentation
4+
of skimage.measure.label() function. When set to None (default), full connectivity (ndim of input array) is used.
5+
6+
- Input is segmentation image with 0 value for background. Anything above 0 is assumed to be a labeled object.
7+
Touching labels are labeled in numerically increasing order starting from 1 to n, where n is the number of
8+
connected components (objects) identified.
9+
10+
- This task has been tested for fusion of 2D MIP segmentation. Since fusion must occur on the full well numpy
11+
array loaded into memory, performance may be poor for large 3D arrays.
12+
13+
### Outputs
14+
- The fused label image is saved as a new label in zarr, with name {label_name_to_fuse}_fused.
15+
- The new ROI table for the fused label image is saved as a masking ROI table, with name
16+
{label_name_to_fuse}_fused_ROI_table.

src/scmultiplex/dev/task_list.py

+9
Original file line numberDiff line numberDiff line change
@@ -147,4 +147,13 @@
147147
input_types=dict(z_illum_corrected=False, is_3D=True),
148148
output_types=dict(z_illum_corrected=True, is_3D=True),
149149
),
150+
CompoundTask(
151+
name="scMultiplex Fuse Touching Labels",
152+
executable_init="fractal/init_select_many_rounds.py",
153+
executable="fractal/fuse_touching_labels.py",
154+
meta={"cpus_per_task": 4, "mem": 16000},
155+
category="Image Processing",
156+
tags=["2D"],
157+
docs_info="file:task_info/fuse_touching_labels.md",
158+
),
150159
]

0 commit comments

Comments
 (0)