Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
**Note**: Numbers like (\#123) point to closed Pull Requests on the fractal-tasks-core repository.

# 1.3.3

* Add new metadata (authors, category, modality, tags) to manifest models and to tasks (\#855).

# 1.3.2

* Tasks:
* Add percentile-based rescaling to calculate registration task to make it more robust (\#848)
* Dependencies:
Expand Down
46 changes: 45 additions & 1 deletion fractal_tasks_core/__FRACTAL_MANIFEST__.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
"task_list": [
{
"name": "Convert Cellvoyager to OME-Zarr",
"category": "Conversion",
"modality": "HCS",
"tags": [
"Yokogawa",
"Cellvoyager"
],
"executable_non_parallel": "tasks/cellvoyager_to_ome_zarr_init.py",
"executable_parallel": "tasks/cellvoyager_to_ome_zarr_compute.py",
"meta_non_parallel": {
Expand Down Expand Up @@ -265,6 +271,12 @@
},
{
"name": "Convert Cellvoyager Multiplexing to OME-Zarr",
"category": "Conversion",
"modality": "HCS",
"tags": [
"Yokogawa",
"Cellvoyager"
],
"executable_non_parallel": "tasks/cellvoyager_to_ome_zarr_init_multiplex.py",
"executable_parallel": "tasks/cellvoyager_to_ome_zarr_compute.py",
"meta_non_parallel": {
Expand Down Expand Up @@ -551,6 +563,11 @@
"output_types": {
"is_3D": false
},
"category": "Image Processing",
"modality": "HCS",
"tags": [
"Preprocessing"
],
"executable_non_parallel": "tasks/copy_ome_zarr_hcs_plate.py",
"executable_parallel": "tasks/projection.py",
"meta_non_parallel": {
Expand Down Expand Up @@ -672,6 +689,10 @@
"output_types": {
"illumination_corrected": true
},
"category": "Image Processing",
"tags": [
"Preprocessing"
],
"executable_parallel": "tasks/illumination_correction.py",
"meta_parallel": {
"cpus_per_task": 1,
Expand Down Expand Up @@ -736,6 +757,12 @@
},
{
"name": "Cellpose Segmentation",
"category": "Segmentation",
"tags": [
"Deep Learning",
"Convolutional Neural Network",
"Instance Segmentation"
],
"executable_parallel": "tasks/cellpose_segmentation.py",
"meta_parallel": {
"cpus_per_task": 4,
Expand Down Expand Up @@ -1030,6 +1057,11 @@
},
{
"name": "Calculate Registration (image-based)",
"category": "Registration",
"modality": "HCS",
"tags": [
"Multiplexing"
],
"executable_non_parallel": "tasks/image_based_registration_hcs_init.py",
"executable_parallel": "tasks/calculate_registration_image_based.py",
"meta_non_parallel": {
Expand Down Expand Up @@ -1161,6 +1193,11 @@
},
{
"name": "Find Registration Consensus",
"category": "Registration",
"modality": "HCS",
"tags": [
"Multiplexing"
],
"executable_non_parallel": "tasks/init_group_by_well_for_multiplexing.py",
"executable_parallel": "tasks/find_registration_consensus.py",
"meta_non_parallel": {
Expand Down Expand Up @@ -1263,6 +1300,11 @@
"output_types": {
"registered": true
},
"category": "Registration",
"modality": "HCS",
"tags": [
"Multiplexing"
],
"executable_parallel": "tasks/apply_registration_to_image.py",
"meta_parallel": {
"cpus_per_task": 1,
Expand Down Expand Up @@ -1378,6 +1420,7 @@
},
{
"name": "Napari Workflows Wrapper",
"category": "Measurement",
"executable_parallel": "tasks/napari_workflows_wrapper.py",
"meta_parallel": {
"cpus_per_task": 8,
Expand Down Expand Up @@ -1539,5 +1582,6 @@
}
],
"has_args_schemas": true,
"args_schema_version": "pydantic_v2"
"args_schema_version": "pydantic_v2",
"authors": "Fractal Core Team"
}
7 changes: 6 additions & 1 deletion fractal_tasks_core/dev/create_manifest.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@

def create_manifest(
package: str = "fractal_tasks_core",
authors: Optional[str] = None,
manifest_version: str = "2",
has_args_schemas: bool = True,
docs_link: Optional[str] = None,
Expand Down Expand Up @@ -76,6 +77,8 @@ def create_manifest(
)
if has_args_schemas:
manifest["args_schema_version"] = ARGS_SCHEMA_VERSION
if authors is not None:
manifest["authors"] = authors

# Prepare a default value of docs_link
if package == "fractal_tasks_core" and docs_link is None:
Expand Down Expand Up @@ -148,4 +151,6 @@ def create_manifest(


if __name__ == "__main__":
create_manifest()
PACKAGE = "fractal_tasks_core"
AUTHORS = "Fractal Core Team"
create_manifest(package=PACKAGE, authors=AUTHORS)
27 changes: 27 additions & 0 deletions fractal_tasks_core/dev/task_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,19 @@
executable="tasks/cellvoyager_to_ome_zarr_compute.py",
meta_init={"cpus_per_task": 1, "mem": 4000},
meta={"cpus_per_task": 1, "mem": 4000},
category="Conversion",
modality="HCS",
tags=["Yokogawa", "Cellvoyager"],
),
CompoundTask(
name="Convert Cellvoyager Multiplexing to OME-Zarr",
executable_init="tasks/cellvoyager_to_ome_zarr_init_multiplex.py",
executable="tasks/cellvoyager_to_ome_zarr_compute.py",
meta_init={"cpus_per_task": 1, "mem": 4000},
meta={"cpus_per_task": 1, "mem": 4000},
category="Conversion",
modality="HCS",
tags=["Yokogawa", "Cellvoyager"],
),
CompoundTask(
name="Project Image (HCS Plate)",
Expand All @@ -38,39 +44,59 @@
output_types={"is_3D": False},
meta_init={"cpus_per_task": 1, "mem": 4000},
meta={"cpus_per_task": 1, "mem": 4000},
category="Image Processing",
modality="HCS",
tags=["Preprocessing"],
),
ParallelTask(
name="Illumination Correction",
input_types=dict(illumination_corrected=False),
executable="tasks/illumination_correction.py",
output_types=dict(illumination_corrected=True),
meta={"cpus_per_task": 1, "mem": 4000},
category="Image Processing",
tags=["Preprocessing"],
),
ParallelTask(
name="Cellpose Segmentation",
executable="tasks/cellpose_segmentation.py",
meta={"cpus_per_task": 4, "mem": 16000, "needs_gpu": True},
category="Segmentation",
tags=[
"Deep Learning",
"Convolutional Neural Network",
"Instance Segmentation",
],
),
CompoundTask(
name="Calculate Registration (image-based)",
executable_init="tasks/image_based_registration_hcs_init.py",
executable="tasks/calculate_registration_image_based.py",
meta_init={"cpus_per_task": 1, "mem": 1000},
meta={"cpus_per_task": 1, "mem": 8000},
category="Registration",
modality="HCS",
tags=["Multiplexing"],
),
CompoundTask(
name="Find Registration Consensus",
executable_init="tasks/init_group_by_well_for_multiplexing.py",
executable="tasks/find_registration_consensus.py",
meta_init={"cpus_per_task": 1, "mem": 1000},
meta={"cpus_per_task": 1, "mem": 1000},
category="Registration",
modality="HCS",
tags=["Multiplexing"],
),
ParallelTask(
name="Apply Registration to Image",
input_types=dict(registered=False),
executable="tasks/apply_registration_to_image.py",
output_types=dict(registered=True),
meta={"cpus_per_task": 1, "mem": 4000},
category="Registration",
modality="HCS",
tags=["Multiplexing"],
),
NonParallelTask(
name="Import OME-Zarr",
Expand All @@ -83,5 +109,6 @@
"cpus_per_task": 8,
"mem": 32000,
},
category="Measurement",
),
]
4 changes: 4 additions & 0 deletions fractal_tasks_core/dev/task_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
from typing import Optional

from pydantic import BaseModel
from pydantic import Field


class _BaseTask(BaseModel):
Expand All @@ -31,6 +32,9 @@ class Config:
meta: Optional[dict[str, Any]] = None
input_types: Optional[dict[str, bool]] = None
output_types: Optional[dict[str, bool]] = None
category: Optional[str] = None
modality: Optional[str] = None
tags: list[str] = Field(default_factory=list)


class CompoundTask(_BaseTask):
Expand Down
Loading