Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Fractal tasks for object and single-cell registration #99

Merged
merged 46 commits into from
Dec 14, 2023
Merged
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
5fff5e8
Update fractal core version.
nrepina Sep 28, 2023
b395c75
Add new fractal task for registering label images.
nrepina Sep 28, 2023
0f57fb2
Update fractal core version.
nrepina Sep 28, 2023
e55bbea
Add new fractal task for registering label images.
nrepina Sep 28, 2023
d2ec80a
Remove obsolete requirements.txt file
nrepina Nov 15, 2023
9c57738
Update calculate_registration_label_based task.
nrepina Nov 17, 2023
2179188
Add new calculate_object_linking Fractal task.
nrepina Nov 17, 2023
a6deb60
Create calculate_object_linking task for Fractal.
nrepina Nov 17, 2023
fbc2b55
Add calculate_linking_consensus task.
nrepina Nov 20, 2023
2180be9
Update fractal core version.
nrepina Nov 20, 2023
853edce
Update linking table column naming in calculate_object_linking task.
nrepina Nov 20, 2023
e8624fd
Clean up imports in calculate_linking_consensus task.
nrepina Nov 20, 2023
3cefeb5
Enhance scmpx relabel_RX_numpy function to optionally take dask array…
nrepina Nov 27, 2023
68578ca
Update calculate_linking_consensus task to add consensus label column…
nrepina Nov 27, 2023
29a5421
Add relabel by linking consensus task.
nrepina Nov 28, 2023
99e7040
Update Fractal manifest.
nrepina Nov 28, 2023
ce476d6
Fix merge conflicts.
nrepina Nov 28, 2023
33b0f83
Bug fix to correct writing of zattr for consensus ROI table and label.
nrepina Nov 30, 2023
27538cb
Initial refactor work for measurement task
jluethi Dec 4, 2023
73eef80
Update OME-Zarr test data to be compatible with fractal-tasks-core 13.1
jluethi Dec 4, 2023
521ed79
Update 3D nuclei for adapted workflow
jluethi Dec 4, 2023
ae674d5
Add back empty label image
jluethi Dec 4, 2023
1dde21e
Remove test for duplicate measurements in 3D data: Not covered in new…
jluethi Dec 4, 2023
b0ccca0
Merge branch 'nar-fractal' of https://github.com/fmi-basel/gliberal-s…
jluethi Dec 4, 2023
9e42a1a
Remove test for duplicate measurements in 3D data: Not covered in new…
jluethi Dec 4, 2023
5d5a7ce
src/scmultiplex/fractal/scmultiplex_feature_measurements.py
jluethi Dec 4, 2023
b9e40bd
Add a potential test for catching not existing labels, not yet implem…
jluethi Dec 4, 2023
6c7c4e2
Update scmultiplexing task to fractal-tasks-core 0.14.0a0 & cleanup
jluethi Dec 4, 2023
6ad5df0
Change precommit hook to avoid changing extra names in setup.cfg
jluethi Dec 5, 2023
96ffef0
Add prerelease flag to 0.14.0a0 dependency
jluethi Dec 5, 2023
977ec6d
Clean up and improve documentation for calculate_object_linking task.
nrepina Dec 6, 2023
00bd270
Improve ransac error calculation to accomodate non normally distribut…
nrepina Dec 10, 2023
4325bf3
Update do_ransac_complete function to remove multithreading.
nrepina Dec 10, 2023
dcab59c
Create remove_labels function to remove specified label IDs from segm…
nrepina Dec 10, 2023
c2f97d4
Add PlatyMatch nuclear linking task to Fractal.
nrepina Dec 10, 2023
2e5bd88
Merge with Joels changes.
nrepina Dec 10, 2023
a65ac94
Update calculate_linking_consensus task to auto generate consensus ta…
nrepina Dec 10, 2023
f2529cc
Small logging and documentation improvements in calculate_linking_con…
nrepina Dec 10, 2023
8aa0b0b
Generalize input parameters in relabel_by_linking_consensus task to i…
nrepina Dec 10, 2023
9a81a4c
Performance optimization of relabel_RX_numpy function.
nrepina Dec 12, 2023
80b0df3
Fixed duplicated data conversion in remove-labels function.
nrepina Dec 12, 2023
8df086e
Update 2D organoid linking tasks to Fractal 0.14.0 and clean up imports.
nrepina Dec 14, 2023
7616bd9
Update single-cell linking task to Fractal version 0.14 and clean up …
nrepina Dec 14, 2023
c89aa01
Update scmpx Measurements task and tests to Fractal 0.14.
nrepina Dec 14, 2023
e60655d
Rename platymatch task.
nrepina Dec 14, 2023
c3dd4af
Update Fractal manifest to include new tasks.
nrepina Dec 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update Fractal manifest.
nrepina committed Nov 28, 2023
commit 99e704039d0ba4a7138b4266eeea9bb9b7f9f040
229 changes: 229 additions & 0 deletions src/scmultiplex/__FRACTAL_MANIFEST__.json
Original file line number Diff line number Diff line change
@@ -130,6 +130,235 @@
},
"docs_info": "Measurements of intensities and morphologies\n\nWrapper task for scmultiplex measurements for Fractal to generate\nmeasurements of intensities and morphologies",
"docs_link": "https://github.com/fmi-basel/gliberal-scMultipleX"
},
{
"name": "scMultipleX Calculate Object Linking",
"executable": "fractal/calculate_object_linking.py",
"input_type": "zarr",
"output_type": "zarr",
"meta": {
"cpus_per_task": 4,
"mem": 16000,
"parallelization_level": "image"
},
"args_schema": {
"title": "CalculateObjectLinking",
"type": "object",
"properties": {
"input_paths": {
"title": "Input Paths",
"type": "array",
"items": {
"type": "string"
},
"description": "List of input paths where the image data is stored as OME-Zarrs. Should point to the parent folder containing one or many OME-Zarr files, not the actual OME-Zarr file. Example: `[\"/some/path/\"]`. This task only supports a single input path. (standard argument for Fractal tasks, managed by Fractal server)."
},
"output_path": {
"title": "Output Path",
"type": "string",
"description": "This parameter is not used by this task. (standard argument for Fractal tasks, managed by Fractal server)."
},
"component": {
"title": "Component",
"type": "string",
"description": "Path to the OME-Zarr image in the OME-Zarr plate that is processed. Example: `\"some_plate.zarr/B/03/0\"`. (standard argument for Fractal tasks, managed by Fractal server)."
},
"metadata": {
"title": "Metadata",
"type": "object",
"description": "This parameter is not used by this task. (standard argument for Fractal tasks, managed by Fractal server)."
},
"label_name": {
"title": "Label Name",
"type": "string",
"description": "Label name that will be used for label-based registration; e.g. `org` from object segmentation."
},
"roi_table": {
"title": "Roi Table",
"default": "well_ROI_table",
"type": "string",
"description": "Name of the ROI table over which the task loops to calculate the registration. Examples: `FOV_ROI_table` => loop over the field of views, `well_ROI_table` => process the whole well as one image."
},
"reference_cycle": {
"title": "Reference Cycle",
"default": 0,
"type": "integer",
"description": "Which cycle to register against. Defaults to 0, which is the first OME-Zarr image in the well (usually the first cycle that was provided)."
},
"level": {
"title": "Level",
"default": 2,
"type": "integer",
"description": "Pyramid level of the image to be segmented. Choose `0` to process at full resolution."
},
"iou_cutoff": {
"title": "Iou Cutoff",
"default": 0.2,
"type": "number",
"description": "Float in range 0 to 1 to specify intersection over union cutoff. Linked organoid pairs that have an iou below this value are filtered out."
},
"new_link_table": {
"title": "New Link Table",
"type": "string",
"description": "Optional name for the new, linking table between R0 and RX. If no name is given, it will default to \"object_linking\"."
}
},
"required": [
"input_paths",
"output_path",
"component",
"metadata",
"label_name"
],
"additionalProperties": false
},
"docs_info": "Calculate registration based on images\n\nThis task consists of 3 parts:\n\n1. Loading the images of a given ROI (=> loop over ROIs)\n2. Calculating the transformation for that ROI\n3. Storing the calculated transformation in the ROI table\n\nParallelization level: image",
"docs_link": "https://github.com/fmi-basel/gliberal-scMultipleX"
},
{
"name": "scMultipleX Calculate Linking Consensus",
"executable": "fractal/calculate_linking_consensus.py",
"input_type": "zarr",
"output_type": "zarr",
"meta": {
"cpus_per_task": 4,
"mem": 16000,
"parallelization_level": "well"
},
"args_schema": {
"title": "CalculateLinkingConsensus",
"type": "object",
"properties": {
"input_paths": {
"title": "Input Paths",
"type": "array",
"items": {
"type": "string"
},
"description": "List of input paths where the image data is stored as OME-Zarrs. Should point to the parent folder containing one or many OME-Zarr files, not the actual OME-Zarr file. Example: `[\"/some/path/\"]`. This task only supports a single input path. (standard argument for Fractal tasks, managed by Fractal server)."
},
"output_path": {
"title": "Output Path",
"type": "string",
"description": "This parameter is not used by this task. (standard argument for Fractal tasks, managed by Fractal server)."
},
"component": {
"title": "Component",
"type": "string",
"description": "Path to the OME-Zarr image in the OME-Zarr plate that is processed. Example: `\"some_plate.zarr/B/03`. (standard argument for Fractal tasks, managed by Fractal server)."
},
"metadata": {
"title": "Metadata",
"type": "object",
"description": "This parameter is not used by this task. (standard argument for Fractal tasks, managed by Fractal server)."
},
"roi_table": {
"title": "Roi Table",
"default": "object_linking",
"type": "string",
"description": "Name of the ROI table over which the task loops to calculate the registration. Examples: `FOV_ROI_table` => loop over the field of views, `well_ROI_table` => process the whole well as one image."
},
"reference_cycle": {
"title": "Reference Cycle",
"default": 0,
"type": "integer",
"description": "Which cycle to register against. Defaults to 0, which is the first OME-Zarr image in the well, usually the first cycle that was provided"
},
"consensus_table_name": {
"title": "Consensus Table Name",
"type": "string",
"description": "Optional name for the new, consensus linking table between R0 and RX. If no name is given, it will default to \"object_linking_consensus\"."
}
},
"required": [
"input_paths",
"output_path",
"component",
"metadata"
],
"additionalProperties": false
},
"docs_info": "Applies pre-calculated registration to ROI tables.\n\nApply pre-calculated registration such that resulting ROIs contain\nthe consensus align region between all cycles.\n\nParallelization level: well",
"docs_link": "https://github.com/fmi-basel/gliberal-scMultipleX"
},
{
"name": "scMultipleX Relabel by Linking Consensus",
"executable": "fractal/relabel_by_linking_consensus.py",
"input_type": "zarr",
"output_type": "zarr",
"meta": {
"cpus_per_task": 4,
"mem": 16000,
"parallelization_level": "image"
},
"args_schema": {
"title": "RelabelByLinkingConsensus",
"type": "object",
"properties": {
"input_paths": {
"title": "Input Paths",
"type": "array",
"items": {
"type": "string"
},
"description": "List of input paths where the image data is stored as OME-Zarrs. Should point to the parent folder containing one or many OME-Zarr files, not the actual OME-Zarr file. Example: `[\"/some/path/\"]`. This task only supports a single input path. (standard argument for Fractal tasks, managed by Fractal server)."
},
"output_path": {
"title": "Output Path",
"type": "string",
"description": "This parameter is not used by this task. (standard argument for Fractal tasks, managed by Fractal server)."
},
"component": {
"title": "Component",
"type": "string",
"description": "Path to the OME-Zarr image in the OME-Zarr plate that is processed. Example: `\"some_plate.zarr/B/03/0\"`. (standard argument for Fractal tasks, managed by Fractal server)."
},
"metadata": {
"title": "Metadata",
"type": "object",
"description": "This parameter is not used by this task. (standard argument for Fractal tasks, managed by Fractal server)."
},
"label_name": {
"title": "Label Name",
"type": "string",
"description": "Label name that will be used for label-based registration; e.g. `org` from object segmentation."
},
"roi_table": {
"title": "Roi Table",
"default": "well_ROI_table",
"type": "string",
"description": "Name of the ROI table over which the task loops to calculate the registration. Examples: `FOV_ROI_table` => loop over the field of views, `well_ROI_table` => process the whole well as one image."
},
"consensus_table": {
"title": "Consensus Table",
"default": "object_linking_consensus",
"type": "string",
"description": "Name of ROI table that contains consensus linking across all rounds"
},
"table_to_relabel": {
"title": "Table To Relabel",
"default": "org_ROI_table",
"type": "string",
"description": "Table name to relabel based on consensus, e.g. 'org_ROI_table'"
},
"reference_cycle": {
"title": "Reference Cycle",
"default": 0,
"type": "integer",
"description": "Which cycle to register against. Defaults to 0, which is the first OME-Zarr image in the well (usually the first cycle that was provided)."
}
},
"required": [
"input_paths",
"output_path",
"component",
"metadata",
"label_name"
],
"additionalProperties": false
},
"docs_info": "Relabels image labels and ROI tables based on consensus linking.\n\nParallelization level: image",
"docs_link": "https://github.com/fmi-basel/gliberal-scMultipleX"
}
],
"has_args_schemas": true,