From f46e88c8ce6a4e74738bea023f43d5e5df714cde Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Thu, 18 Sep 2025 10:20:31 -0400 Subject: [PATCH 01/44] feat: add base and runner classes for generic post-processing framework --- ami/ml/post_processing/base.py | 24 ++++++++++++++++++++++++ ami/ml/post_processing/runner.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 ami/ml/post_processing/base.py create mode 100644 ami/ml/post_processing/runner.py diff --git a/ami/ml/post_processing/base.py b/ami/ml/post_processing/base.py new file mode 100644 index 000000000..759438ab0 --- /dev/null +++ b/ami/ml/post_processing/base.py @@ -0,0 +1,24 @@ +import logging +from typing import Any + +logger = logging.getLogger(__name__) + +POST_PROCESSING_REGISTRY = {} + + +def register_step(cls): + """Decorator to register a post-processing step.""" + POST_PROCESSING_REGISTRY[cls.name] = cls() + return cls + + +class PostProcessingStep: + """Base interface for a post-processing step.""" + + name: str = "base_step" + description: str = "Base step (does nothing)" + default_enabled: bool = False + + def apply(self, pipeline_input: Any, pipeline_output: Any) -> tuple[Any, Any]: + """Process and return modified input/output.""" + raise NotImplementedError diff --git a/ami/ml/post_processing/runner.py b/ami/ml/post_processing/runner.py new file mode 100644 index 000000000..3a660f6da --- /dev/null +++ b/ami/ml/post_processing/runner.py @@ -0,0 +1,28 @@ +import logging +from typing import Any + +from .base import POST_PROCESSING_REGISTRY + +logger = logging.getLogger(__name__) + + +def run_postprocessing( + pipeline_input: Any, + pipeline_output: Any, + enabled_steps: list[str] | None = None, +) -> tuple[Any, Any]: + """ + Run all enabled post-processing steps on pipeline results. + """ + steps = enabled_steps or [name for name, step in POST_PROCESSING_REGISTRY.items() if step.default_enabled] + + logger.info(f"Running post-processing steps: {steps}") + + for name in steps: + step = POST_PROCESSING_REGISTRY.get(name) + if not step: + logger.warning(f"Post-processing step '{name}' not found, skipping") + continue + pipeline_input, pipeline_output = step.apply(pipeline_input, pipeline_output) + + return pipeline_input, pipeline_output From d86ea4de7b6e7282858231ff99380aa1f5e7b8d5 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 30 Sep 2025 13:09:08 -0400 Subject: [PATCH 02/44] feat: add post-processing framework base post-processing task class --- ami/ml/post_processing/__init__.py | 1 + ami/ml/post_processing/base.py | 82 +++++++++++++++++++++++++----- 2 files changed, 69 insertions(+), 14 deletions(-) create mode 100644 ami/ml/post_processing/__init__.py diff --git a/ami/ml/post_processing/__init__.py b/ami/ml/post_processing/__init__.py new file mode 100644 index 000000000..3517ed47c --- /dev/null +++ b/ami/ml/post_processing/__init__.py @@ -0,0 +1 @@ +from . import small_size_filter # noqa: F401 diff --git a/ami/ml/post_processing/base.py b/ami/ml/post_processing/base.py index 759438ab0..055f925ce 100644 --- a/ami/ml/post_processing/base.py +++ b/ami/ml/post_processing/base.py @@ -1,24 +1,78 @@ +# ami/ml/post_processing/base.py + +import abc import logging from typing import Any -logger = logging.getLogger(__name__) +from ami.jobs.models import Job +from ami.ml.models import Algorithm, AlgorithmTaskType + +# Registry of available post-processing tasks +POSTPROCESSING_TASKS: dict[str, type["BasePostProcessingTask"]] = {} + + +def register_postprocessing_task(task_cls: type["BasePostProcessingTask"]): + """ + Decorator to register a post-processing task in the global registry. + Each task must define a unique `key`. + Ensures an Algorithm entry exists for this task. + """ + if not hasattr(task_cls, "key") or not task_cls.key: + raise ValueError(f"Task {task_cls.__name__} missing required 'key' attribute") + + # Register the task + POSTPROCESSING_TASKS[task_cls.key] = task_cls + + # Ensure Algorithm object exists for this task + algorithm, _ = Algorithm.objects.get_or_create( + name=task_cls.__name__, + defaults={ + "description": f"Post-processing task: {task_cls.key}", + "task_type": AlgorithmTaskType.POST_PROCESSING.value, + }, + ) + + # Attach the Algorithm object to the task class + task_cls.algorithm = algorithm + + return task_cls + -POST_PROCESSING_REGISTRY = {} +def get_postprocessing_task(name: str) -> type["BasePostProcessingTask"] | None: + """ + Get a task class by its registry key. + Returns None if not found. + """ + return POSTPROCESSING_TASKS.get(name) -def register_step(cls): - """Decorator to register a post-processing step.""" - POST_PROCESSING_REGISTRY[cls.name] = cls() - return cls +class BasePostProcessingTask(abc.ABC): + """ + Abstract base class for all post-processing tasks. + """ + # Each task must override these + key: str = "" + name: str = "" -class PostProcessingStep: - """Base interface for a post-processing step.""" + def __init__(self, **config: Any): + """ + Initialize task with configuration parameters. + """ + self.config: dict[str, Any] = config + self.logger = logging.getLogger(f"ami.post_processing.{self.key}") - name: str = "base_step" - description: str = "Base step (does nothing)" - default_enabled: bool = False + @abc.abstractmethod + def run(self, job: Job) -> None: + """ + Run the task logic. + Must be implemented by subclasses. + The job parameter provides context (project, logs, etc.). + """ + raise NotImplementedError("Subclasses must implement run()") - def apply(self, pipeline_input: Any, pipeline_output: Any) -> tuple[Any, Any]: - """Process and return modified input/output.""" - raise NotImplementedError + def log_config(self, job: Job): + """ + Helper to log the task configuration at start. + """ + job.logger.info(f"Running task {self.name} ({self.key}) with config: {self.config}") From 2c0f78fbd87b4984342ce88b45255261b1868fb8 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 30 Sep 2025 13:10:52 -0400 Subject: [PATCH 03/44] feat: add small size filter post-processing task class --- ami/ml/post_processing/small_size_filter.py | 92 +++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 ami/ml/post_processing/small_size_filter.py diff --git a/ami/ml/post_processing/small_size_filter.py b/ami/ml/post_processing/small_size_filter.py new file mode 100644 index 000000000..3487bab42 --- /dev/null +++ b/ami/ml/post_processing/small_size_filter.py @@ -0,0 +1,92 @@ +from django.db import transaction +from django.utils import timezone + +from ami.jobs.models import Job +from ami.main.models import Detection, SourceImageCollection, Taxon, TaxonRank +from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task + + +@register_postprocessing_task +class SmallSizeFilter(BasePostProcessingTask): + key = "small_size_filter" + name = "Small Size Filter" + + def run(self, job: "Job") -> None: + threshold = self.config.get("size_threshold", 0.01) + collection_id = self.config.get("source_image_collection_id") + # Get or create the "Not identifiable" taxon + + not_identifiable_taxon, _ = Taxon.objects.get_or_create( + name="Not identifiable", + defaults={ + "rank": TaxonRank.UNKNOWN, + "notes": "Auto-generated taxon for small size filter", + }, + ) + job.logger.info(f"=== Starting {self.name} ===") + + if not collection_id: + msg = "Missing required config param: source_image_collection_id" + job.logger.error(msg) + raise ValueError(msg) + + try: + collection = SourceImageCollection.objects.get(pk=collection_id) + job.logger.info(f"Loaded SourceImageCollection {collection_id} " f"(Project={collection.project_id})") + except SourceImageCollection.DoesNotExist: + msg = f"SourceImageCollection {collection_id} not found" + job.logger.error(msg) + raise ValueError(msg) + + detections = Detection.objects.filter(source_image__collections=collection) + total = detections.count() + job.logger.info(f"Found {total} detections in collection {collection_id}") + + modified = 0 + + for det in detections.iterator(): + bbox = det.get_bbox() + if not bbox: + job.logger.debug(f"Detection {det.pk}: no bbox, skipping") + continue + + img_w, img_h = det.source_image.width, det.source_image.height + if not img_w or not img_h: + job.logger.debug(f"Detection {det.pk}: missing source image dims, skipping") + continue + + det_area = det.width() * det.height() + img_area = img_w * img_h + rel_area = det_area / img_area if img_area else 0 + + job.logger.debug( + f"Detection {det.pk}: area={det_area}, rel_area={rel_area:.4f}, " f"threshold={threshold:.4f}" + ) + + if rel_area < threshold: + with transaction.atomic(): + # Mark existing classifications as non-terminal + det.classifications.update(terminal=False) + + # Create the new "Not identifiable" classification + det.classifications.create( + detection=det, + taxon=not_identifiable_taxon, + score=1.0, + terminal=True, + timestamp=timezone.now(), + algorithm=self.algorithm, + ) + + modified += 1 + job.logger.debug(f"Detection {det.pk}: marked as 'Not identifiable'") + + job.logger.info(f"=== Completed {self.name}: {modified}/{total} detections modified ===") + + job.result = { + "detections_total": total, + "detections_modified": modified, + "threshold": threshold, + "collection_id": collection_id, + } + job.save(update_fields=["result"]) From ffba70964ec9e7b6f328c31a2d8f5f173ea210e7 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 30 Sep 2025 13:12:05 -0400 Subject: [PATCH 04/44] feat: add post processing job type --- ami/jobs/models.py | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/ami/jobs/models.py b/ami/jobs/models.py index f7b85283b..39e7a0ff3 100644 --- a/ami/jobs/models.py +++ b/ami/jobs/models.py @@ -645,6 +645,37 @@ def run(cls, job: "Job"): job.update_status(JobState.SUCCESS, save=True) +class PostProcessingJob(JobType): + name = "Post Processing" + key = "post_processing" + + @classmethod + def run(cls, job: "Job"): + import ami.ml.post_processing # noqa F401 + from ami.ml.post_processing.base import get_postprocessing_task + + job.progress.add_stage(cls.name, key=cls.key) + job.update_status(JobState.STARTED) + job.started_at = datetime.datetime.now() + job.save() + + params = job.params or {} + task_key: str = params.get("task", "") + config = params.get("config", {}) + job.logger.info(f"Post-processing task: {task_key} with params: {job.params}") + + task_cls = get_postprocessing_task(task_key) + if not task_cls: + raise ValueError(f"Unknown post-processing task '{task_key}'") + + task = task_cls(**config) + task.run(job) + job.progress.update_stage(cls.key, status=JobState.SUCCESS, progress=1) + job.finished_at = datetime.datetime.now() + job.update_status(JobState.SUCCESS) + job.save() + + class UnknownJobType(JobType): name = "Unknown" key = "unknown" @@ -654,7 +685,14 @@ def run(cls, job: "Job"): raise ValueError(f"Unknown job type '{job.job_type()}'") -VALID_JOB_TYPES = [MLJob, SourceImageCollectionPopulateJob, DataStorageSyncJob, UnknownJobType, DataExportJob] +VALID_JOB_TYPES = [ + MLJob, + SourceImageCollectionPopulateJob, + DataStorageSyncJob, + UnknownJobType, + DataExportJob, + PostProcessingJob, +] def get_job_type_by_key(key: str) -> type[JobType] | None: From 63cd84b456aa4e819ceb32da495d9b3c489cc08d Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 30 Sep 2025 13:12:33 -0400 Subject: [PATCH 05/44] feat: trigger small size filter post processing task from admin page --- ami/main/admin.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/ami/main/admin.py b/ami/main/admin.py index dd2cea5c5..a3f4d6aae 100644 --- a/ami/main/admin.py +++ b/ami/main/admin.py @@ -10,6 +10,7 @@ import ami.utils from ami import tasks +from ami.jobs.models import Job from ami.ml.models.project_pipeline_config import ProjectPipelineConfig from ami.ml.tasks import remove_duplicate_classifications @@ -619,7 +620,28 @@ def populate_collection_async(self, request: HttpRequest, queryset: QuerySet[Sou f"Populating {len(queued_tasks)} collection(s) background tasks: {queued_tasks}.", ) - actions = [populate_collection, populate_collection_async] + @admin.action(description="Run Small Size Filter post-processing task (async)") + def run_small_size_filter(self, request: HttpRequest, queryset: QuerySet[SourceImageCollection]) -> None: + jobs = [] + for collection in queryset: + job = Job.objects.create( + name=f"Post-processing: SmallSizeFilter on Collection {collection.pk}", + project=collection.project, + job_type_key="post_processing", + params={ + "task": "small_size_filter", + "config": { + "size_threshold": 0.01, # default threshold + "source_image_collection_id": collection.pk, + }, + }, + ) + job.enqueue() + jobs.append(job.pk) + + self.message_user(request, f"Queued Small Size Filter for {queryset.count()} collection(s). Jobs: {jobs}") + + actions = [populate_collection, populate_collection_async, run_small_size_filter] # Hide images many-to-many field from form. This would list all source images in the database. exclude = ("images",) From cab62bf02e88e2abd13edd27aa6af7e428601d2f Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 30 Sep 2025 13:13:22 -0400 Subject: [PATCH 06/44] feat: add a new algorithm task type for post-processing --- ami/ml/models/algorithm.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ami/ml/models/algorithm.py b/ami/ml/models/algorithm.py index 48b2e2336..0e9df4609 100644 --- a/ami/ml/models/algorithm.py +++ b/ami/ml/models/algorithm.py @@ -176,6 +176,7 @@ class AlgorithmTaskType(str, enum.Enum): DEPTH_ESTIMATION = "depth_estimation" POSE_ESTIMATION = "pose_estimation" SIZE_ESTIMATION = "size_estimation" + POST_PROCESSING = "post_processing" OTHER = "other" UNKNOWN = "unknown" From 6d0e284d0ceb952945c2c50767a3737bcd06603c Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 30 Sep 2025 13:15:57 -0400 Subject: [PATCH 07/44] chore: deleted runner.py --- ami/ml/post_processing/runner.py | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 ami/ml/post_processing/runner.py diff --git a/ami/ml/post_processing/runner.py b/ami/ml/post_processing/runner.py deleted file mode 100644 index 3a660f6da..000000000 --- a/ami/ml/post_processing/runner.py +++ /dev/null @@ -1,28 +0,0 @@ -import logging -from typing import Any - -from .base import POST_PROCESSING_REGISTRY - -logger = logging.getLogger(__name__) - - -def run_postprocessing( - pipeline_input: Any, - pipeline_output: Any, - enabled_steps: list[str] | None = None, -) -> tuple[Any, Any]: - """ - Run all enabled post-processing steps on pipeline results. - """ - steps = enabled_steps or [name for name, step in POST_PROCESSING_REGISTRY.items() if step.default_enabled] - - logger.info(f"Running post-processing steps: {steps}") - - for name in steps: - step = POST_PROCESSING_REGISTRY.get(name) - if not step: - logger.warning(f"Post-processing step '{name}' not found, skipping") - continue - pipeline_input, pipeline_output = step.apply(pipeline_input, pipeline_output) - - return pipeline_input, pipeline_output From 4cfe2d8dcc21447470adf38c18c3ebc567f1d9e6 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 30 Sep 2025 13:19:12 -0400 Subject: [PATCH 08/44] feat: add migration for creating a new job type --- .../migrations/0018_alter_job_job_type_key.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ami/jobs/migrations/0018_alter_job_job_type_key.py diff --git a/ami/jobs/migrations/0018_alter_job_job_type_key.py b/ami/jobs/migrations/0018_alter_job_job_type_key.py new file mode 100644 index 000000000..e51a84b08 --- /dev/null +++ b/ami/jobs/migrations/0018_alter_job_job_type_key.py @@ -0,0 +1,29 @@ +# Generated by Django 4.2.10 on 2025-09-30 12:25 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("jobs", "0017_alter_job_logs_alter_job_progress"), + ] + + operations = [ + migrations.AlterField( + model_name="job", + name="job_type_key", + field=models.CharField( + choices=[ + ("ml", "ML pipeline"), + ("populate_captures_collection", "Populate captures collection"), + ("data_storage_sync", "Data storage sync"), + ("unknown", "Unknown"), + ("data_export", "Data Export"), + ("post_processing", "Post Processing"), + ], + default="unknown", + max_length=255, + verbose_name="Job Type", + ), + ), + ] From b42e06929e493e0e9c7e42df74f476fe9216a4f8 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 30 Sep 2025 14:35:31 -0400 Subject: [PATCH 09/44] fix: fix an import error with the AlgorithmTaskType --- ami/ml/post_processing/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ami/ml/post_processing/base.py b/ami/ml/post_processing/base.py index 055f925ce..baa1c452e 100644 --- a/ami/ml/post_processing/base.py +++ b/ami/ml/post_processing/base.py @@ -5,7 +5,8 @@ from typing import Any from ami.jobs.models import Job -from ami.ml.models import Algorithm, AlgorithmTaskType +from ami.ml.models import Algorithm +from ami.ml.models.algorithm import AlgorithmTaskType # Registry of available post-processing tasks POSTPROCESSING_TASKS: dict[str, type["BasePostProcessingTask"]] = {} From cb7c83a465c28f5fc8eb34dee6c66f8265851780 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Thu, 2 Oct 2025 10:54:09 -0400 Subject: [PATCH 10/44] feat: update identification history of occurrences in SmallSizeFilter --- ami/ml/post_processing/small_size_filter.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ami/ml/post_processing/small_size_filter.py b/ami/ml/post_processing/small_size_filter.py index 3487bab42..784647dd8 100644 --- a/ami/ml/post_processing/small_size_filter.py +++ b/ami/ml/post_processing/small_size_filter.py @@ -2,7 +2,7 @@ from django.utils import timezone from ami.jobs.models import Job -from ami.main.models import Detection, SourceImageCollection, Taxon, TaxonRank +from ami.main.models import Detection, Identification, SourceImageCollection, Taxon, TaxonRank from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task @@ -77,7 +77,14 @@ def run(self, job: "Job") -> None: timestamp=timezone.now(), algorithm=self.algorithm, ) - + # Also create/update Identification for the linked occurrence + if det.occurrence: + Identification.objects.create( + occurrence=det.occurrence, + taxon=not_identifiable_taxon, + user=None, # since this comes from a post-processing algorithm not a human + comment=f"Auto-set by {self.name} Filter post-processing task", + ) modified += 1 job.logger.debug(f"Detection {det.pk}: marked as 'Not identifiable'") From 10103db3318282ea632e2c16fa34322ee220db5d Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Mon, 6 Oct 2025 10:59:57 -0400 Subject: [PATCH 11/44] feat: add rank rollup --- ami/ml/post_processing/rank_rollup.py | 127 ++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 ami/ml/post_processing/rank_rollup.py diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py new file mode 100644 index 000000000..01a315d3e --- /dev/null +++ b/ami/ml/post_processing/rank_rollup.py @@ -0,0 +1,127 @@ +import logging +from collections import defaultdict + +from django.db import transaction +from django.utils import timezone +from main.models import Classification, Identification, Taxon + +from ami.jobs.models import Job +from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task + +logger = logging.getLogger(__name__) + + +def find_ancestor_by_parent_chain(taxon, target_rank: str): + """Climb up parent relationships until a taxon with the target rank is found.""" + if not taxon: + return None + + target_rank = target_rank.upper() + + current = taxon + while current: + if current.rank.upper() == target_rank: + return current + current = current.parent + + return None + + +@register_postprocessing_task +class RankRollupTask(BasePostProcessingTask): + """Post-processing task that rolls up low-confidence classifications + to higher ranks using aggregated scores. + """ + + key = "rank_rollup" + name = "Rank Rollup" + + DEFAULT_THRESHOLDS = {"species": 0.8, "genus": 0.6, "family": 0.4} + ROLLUP_ORDER = ["species", "genus", "family"] + + def run(self, job: "Job") -> None: + job.logger.info(f"Running Rank Rollup task for job {job.id}") + + # ---- Read config parameters ---- + config = job.config or {} + collection_id = config.get("source_image_collection_id") + thresholds = config.get("thresholds", self.DEFAULT_THRESHOLDS) + rollup_order = config.get("rollup_order", self.ROLLUP_ORDER) + + if not collection_id: + job.logger.warning("No 'source_image_collection_id' provided in job config. Aborting task.") + return + + job.logger.info(f"Config: collection_id={collection_id}, thresholds={thresholds}, rollup_order={rollup_order}") + + qs = Classification.objects.filter( + terminal=True, + taxon__isnull=False, + detection__source_image__collections__id=collection_id, + ) + + updated_occurrences = [] + + with transaction.atomic(): + for clf in qs: + if not clf.scores or not clf.category_map: + continue + + taxon_scores = defaultdict(float) + + for idx, score in enumerate(clf.scores): + label = clf.category_map.labels[idx] + if not label: + continue + + taxon = Taxon.objects.filter(name=label).first() + if not taxon: + continue + + for rank in rollup_order: + ancestor = find_ancestor_by_parent_chain(taxon, rank) + if ancestor: + taxon_scores[ancestor] += score + + new_taxon = None + new_score = None + for rank in rollup_order: + threshold = thresholds.get(rank, 1.0) + candidates = {t: s for t, s in taxon_scores.items() if t.rank == rank} + if not candidates: + continue + best_taxon, best_score = max(candidates.items(), key=lambda kv: kv[1]) + if best_score >= threshold: + new_taxon, new_score = best_taxon, best_score + break + + if new_taxon and new_taxon != clf.taxon: + with transaction.atomic(): + Classification.objects.filter(detection=clf.detection, terminal=True).update(terminal=False) + + Classification.objects.create( + detection=clf.detection, + taxon=new_taxon, + score=new_score, + terminal=True, + algorithm=clf.algorithm, + timestamp=timezone.now(), + ) + + occurrence = clf.detection.occurrence + if occurrence: + Identification.objects.create( + occurrence=occurrence, + taxon=new_taxon, + user=None, + comment=f"Auto-set by {self.name} post-processing task", + ) + updated_occurrences.append(occurrence.pk) + + job.logger.info( + f"Rolled up occurrence {occurrence.pk}: {clf.taxon} to{new_taxon} " + f"({new_taxon.rank}) with rolled-up score={new_score:.3f}" + ) + + job.logger.info(f"Rank rollup completed. Updated {len(updated_occurrences)} occurrences.") + job.logger.info(f"Rank rollup completed for collection {collection_id}.") From 2e81d9038ac89ea25a14145c7695be78f8f65211 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 7 Oct 2025 10:43:30 -0400 Subject: [PATCH 12/44] feat: add class masking post processing task --- ami/ml/post_processing/class_masking.py | 249 ++++++++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 ami/ml/post_processing/class_masking.py diff --git a/ami/ml/post_processing/class_masking.py b/ami/ml/post_processing/class_masking.py new file mode 100644 index 000000000..7bbf9a0e8 --- /dev/null +++ b/ami/ml/post_processing/class_masking.py @@ -0,0 +1,249 @@ +import logging + +from django.db.models import QuerySet +from django.utils import timezone + +from ami.main.models import Classification, Occurrence, SourceImageCollection, TaxaList +from ami.ml.models import Algorithm, AlgorithmCategoryMap +from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task + +logger = logging.getLogger(__name__) + + +def update_single_occurrence( + occurrence: Occurrence, + algorithm: Algorithm, + taxa_list: TaxaList, + task_logger: logging.Logger = logger, +): + task_logger.info(f"Recalculating classifications for occurrence {occurrence.pk}.") + + # Get the classifications for the occurrence in the collection + classifications = Classification.objects.filter( + detection__occurrence=occurrence, + terminal=True, + algorithm=algorithm, + scores__isnull=False, + ).distinct() + + make_classifications_filtered_by_taxa_list( + classifications=classifications, + taxa_list=taxa_list, + algorithm=algorithm, + ) + + +def update_occurrences_in_collection( + collection: SourceImageCollection, + taxa_list: TaxaList, + algorithm: Algorithm, + params: dict, + task_logger: logging.Logger = logger, + job=None, +): + task_logger.info(f"Recalculating classifications based on a taxa list. Params: {params}") + + # Make new AlgorithmCategoryMap with the taxa in the list + # @TODO + + classifications = Classification.objects.filter( + detection__source_image__collections=collection, + terminal=True, + # algorithm__task_type="classification", + algorithm=algorithm, + scores__isnull=False, + ).distinct() + + make_classifications_filtered_by_taxa_list( + classifications=classifications, + taxa_list=taxa_list, + algorithm=algorithm, + ) + + +def make_classifications_filtered_by_taxa_list( + classifications: QuerySet[Classification], + taxa_list: TaxaList, + algorithm: Algorithm, +): + taxa_in_list = taxa_list.taxa.all() + + occurrences_to_update: set[Occurrence] = set() + logger.info(f"Found {len(classifications)} terminal classifications with scores to update.") + + if not classifications: + raise ValueError("No terminal classifications with scores found to update.") + + if not algorithm.category_map: + raise ValueError(f"Algorithm {algorithm} does not have a category map.") + category_map: AlgorithmCategoryMap = algorithm.category_map + + # Consider moving this to a method on the Classification model + + # @TODO find a more efficient way to get the category map with taxa. This is slow! + logger.info(f"Retrieving category map with Taxa instances for algorithm {algorithm}") + category_map_with_taxa = category_map.with_taxa() + # Filter the category map to only include taxa that are in the taxa list + # included_category_map_with_taxa = [ + # category for category in category_map_with_taxa if category["taxon"] in taxa_in_list + # ] + excluded_category_map_with_taxa = [ + category for category in category_map_with_taxa if category["taxon"] not in taxa_in_list + ] + + # included_category_indices = [int(category["index"]) for category in category_map_with_taxa] + excluded_category_indices = [ + int(category["index"]) for category in excluded_category_map_with_taxa # type: ignore + ] + + # Log number of categories in the category map, num included, and num excluded, num classifications to update + logger.info( + f"Category map has {len(category_map_with_taxa)} categories, " + f"{len(excluded_category_map_with_taxa)} categories excluded, " + f"{len(classifications)} classifications to check" + ) + + classifications_to_add = [] + classifications_to_update = [] + + timestamp = timezone.now() + for classification in classifications: + scores, logits = classification.scores, classification.logits + # Set scores and logits to zero if they are not in the filtered category indices + + import numpy as np + + # Assert that all scores & logits are lists of numbers + if not isinstance(scores, list) or not all(isinstance(score, (int, float)) for score in scores): + raise ValueError(f"Scores for classification {classification.pk} are not a list of numbers: {scores}") + if not isinstance(logits, list) or not all(isinstance(logit, (int, float)) for logit in logits): + raise ValueError(f"Logits for classification {classification.pk} are not a list of numbers: {logits}") + + logger.debug(f"Processing classification {classification.pk} with {len(scores)} scores") + logger.info(f"Previous totals: {sum(scores)} scores, {sum(logits)} logits") + + # scores_np_filtered = np.array(scores) + logits_np = np.array(logits) + + # scores_np_filtered[excluded_category_indices] = 0.0 + + # @TODO can we use np.NAN instead of 0.0? zero will NOT calculate correctly in softmax. + # @TODO delete the excluded categories from the scores and logits instead of setting to 0.0 + # logits_np[excluded_category_indices] = 0.0 + # logits_np[excluded_category_indices] = np.nan + logits_np[excluded_category_indices] = -100 + + logits: list[float] = logits_np.tolist() + + from numpy import exp + from numpy import sum as np_sum + + # @TODO add test to see if this is correct, or needed! + # Recalculate the softmax scores based on the filtered logits + scores_np: np.ndarray = exp(logits_np - np.max(logits_np)) # Subtract max for numerical stability + scores_np /= np_sum(scores_np) # Normalize to get probabilities + + scores: list = scores_np.tolist() # Convert back to list + + logger.info(f"New totals: {sum(scores)} scores, {sum(logits)} logits") + + # Get the taxon with the highest score using the index of the max score + top_index = scores.index(max(scores)) + top_taxon = category_map_with_taxa[top_index][ + "taxon" + ] # @TODO: This doesn't work if the taxon has never been classified + print("Top taxon: ", category_map_with_taxa[top_index]) # @TODO: REMOVE + print("Top index: ", top_index) # @TODO: REMOVE + + # check if needs updating + if classification.scores == scores and classification.logits == logits: + logger.debug(f"Classification {classification.pk} does not need updating") + continue + + # Consider the existing classification as an intermediate classification + classification.terminal = False + classification.updated_at = timestamp + + # Recalculate the top taxon and score + new_classification = Classification( + taxon=top_taxon, + algorithm=classification.algorithm, + score=max(scores), + scores=scores, + logits=logits, + detection=classification.detection, + timestamp=classification.timestamp, + terminal=True, + category_map=None, # @TODO need a new category map with the filtered taxa + created_at=timestamp, + updated_at=timestamp, + ) + if new_classification.taxon is None: + raise (ValueError("Classification isn't registered yet. Aborting")) # @TODO remove or fail gracefully + + classifications_to_update.append(classification) + classifications_to_add.append(new_classification) + + assert new_classification.detection is not None + assert new_classification.detection.occurrence is not None + occurrences_to_update.add(new_classification.detection.occurrence) + + logging.info( + f"Adding new classification for Taxon {top_taxon} to occurrence {new_classification.detection.occurrence}" + ) + + # Bulk update the existing classifications + if classifications_to_update: + logger.info(f"Bulk updating {len(classifications_to_update)} existing classifications") + Classification.objects.bulk_update(classifications_to_update, ["terminal", "updated_at"]) + logger.info(f"Updated {len(classifications_to_update)} existing classifications") + + if classifications_to_add: + # Bulk create the new classifications + logger.info(f"Bulk creating {len(classifications_to_add)} new classifications") + Classification.objects.bulk_create(classifications_to_add) + logger.info(f"Added {len(classifications_to_add)} new classifications") + + # Update the occurrence determinations + logger.info(f"Updating the determinations for {len(occurrences_to_update)} occurrences") + for occurrence in occurrences_to_update: + occurrence.save(update_determination=True) + logger.info(f"Updated determinations for {len(occurrences_to_update)} occurrences") + + +@register_postprocessing_task +class ClassMaskingTask(BasePostProcessingTask): + key = "class_masking" + name = "Class Masking" + + def run(self, job): + self.log_config(job) + + collection_id = self.config.get("collection_id") + taxa_list_id = self.config.get("taxa_list_id") + algorithm_id = self.config.get("algorithm_id") + + if not all([collection_id, taxa_list_id, algorithm_id]): + job.logger.error("Missing required configuration: collection_id, taxa_list_id, algorithm_id") + return + + try: + collection = SourceImageCollection.objects.get(pk=collection_id) + taxa_list = TaxaList.objects.get(pk=taxa_list_id) + algorithm = Algorithm.objects.get(pk=algorithm_id) + except Exception as e: + job.logger.exception(f"Failed to load objects: {e}") + return + + job.logger.info(f"Applying class masking on collection {collection_id} using taxa list {taxa_list_id}") + + update_occurrences_in_collection( + collection=collection, + taxa_list=taxa_list, + algorithm=algorithm, + params=self.config, + task_logger=job.logger, + job=job, + ) + + job.logger.info("Class masking completed successfully.") From 0baf8ce39151a6520708c1063347a3ea9fb59615 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 7 Oct 2025 10:43:57 -0400 Subject: [PATCH 13/44] feat: trigger class masking from admin page --- ami/main/admin.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/ami/main/admin.py b/ami/main/admin.py index a3f4d6aae..d7d79aafa 100644 --- a/ami/main/admin.py +++ b/ami/main/admin.py @@ -641,7 +641,33 @@ def run_small_size_filter(self, request: HttpRequest, queryset: QuerySet[SourceI self.message_user(request, f"Queued Small Size Filter for {queryset.count()} collection(s). Jobs: {jobs}") - actions = [populate_collection, populate_collection_async, run_small_size_filter] + @admin.action(description="Run Class Masking post-processing task (async)") + def run_class_masking(self, request: HttpRequest, queryset: QuerySet[SourceImageCollection]) -> None: + jobs = [] + + DEFAULT_TAXA_LIST_ID = 5 + DEFAULT_ALGORITHM_ID = 11 + + for collection in queryset: + job = Job.objects.create( + name=f"Post-processing: ClassMasking on Collection {collection.pk}", + project=collection.project, + job_type_key="post_processing", + params={ + "task": "class_masking", + "config": { + "collection_id": collection.pk, + "taxa_list_id": DEFAULT_TAXA_LIST_ID, + "algorithm_id": DEFAULT_ALGORITHM_ID, + }, + }, + ) + job.enqueue() + jobs.append(job.pk) + + self.message_user(request, f"Queued Class Masking for {queryset.count()} collection(s). Jobs: {jobs}") + + actions = [populate_collection, populate_collection_async, run_small_size_filter, run_class_masking] # Hide images many-to-many field from form. This would list all source images in the database. exclude = ("images",) From f3caa18c4f93b499527910f6b273d804d279d2c8 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Wed, 8 Oct 2025 10:21:31 -0400 Subject: [PATCH 14/44] fix: modified log messages --- ami/ml/post_processing/__init__.py | 2 +- ami/ml/post_processing/rank_rollup.py | 6 +++--- ami/ml/post_processing/small_size_filter.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ami/ml/post_processing/__init__.py b/ami/ml/post_processing/__init__.py index 3517ed47c..bf2e99698 100644 --- a/ami/ml/post_processing/__init__.py +++ b/ami/ml/post_processing/__init__.py @@ -1 +1 @@ -from . import small_size_filter # noqa: F401 +from . import class_masking, rank_rollup, small_size_filter # noqa: F401 diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py index 01a315d3e..a66eda0e0 100644 --- a/ami/ml/post_processing/rank_rollup.py +++ b/ami/ml/post_processing/rank_rollup.py @@ -3,9 +3,9 @@ from django.db import transaction from django.utils import timezone -from main.models import Classification, Identification, Taxon from ami.jobs.models import Job +from ami.main.models import Classification, Identification, Taxon from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task logger = logging.getLogger(__name__) @@ -40,10 +40,10 @@ class RankRollupTask(BasePostProcessingTask): ROLLUP_ORDER = ["species", "genus", "family"] def run(self, job: "Job") -> None: - job.logger.info(f"Running Rank Rollup task for job {job.id}") + job.logger.info(f"Running Rank Rollup task for job {job.pk}") # ---- Read config parameters ---- - config = job.config or {} + config = self.config or {} collection_id = config.get("source_image_collection_id") thresholds = config.get("thresholds", self.DEFAULT_THRESHOLDS) rollup_order = config.get("rollup_order", self.ROLLUP_ORDER) diff --git a/ami/ml/post_processing/small_size_filter.py b/ami/ml/post_processing/small_size_filter.py index 784647dd8..3f144aff4 100644 --- a/ami/ml/post_processing/small_size_filter.py +++ b/ami/ml/post_processing/small_size_filter.py @@ -32,7 +32,7 @@ def run(self, job: "Job") -> None: try: collection = SourceImageCollection.objects.get(pk=collection_id) - job.logger.info(f"Loaded SourceImageCollection {collection_id} " f"(Project={collection.project_id})") + job.logger.info(f"Loaded SourceImageCollection {collection_id} " f"(Project={collection.project})") except SourceImageCollection.DoesNotExist: msg = f"SourceImageCollection {collection_id} not found" job.logger.error(msg) @@ -83,7 +83,7 @@ def run(self, job: "Job") -> None: occurrence=det.occurrence, taxon=not_identifiable_taxon, user=None, # since this comes from a post-processing algorithm not a human - comment=f"Auto-set by {self.name} Filter post-processing task", + comment=f"Auto-set by {self.name} post-processing task", ) modified += 1 job.logger.debug(f"Detection {det.pk}: marked as 'Not identifiable'") From 65d4fef35518e6aa97908e48a513c3f1f5de7c2b Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Wed, 8 Oct 2025 10:41:16 -0400 Subject: [PATCH 15/44] fix: set the classification algorithm to the rank rollup Algorithm when creating a terminal classification with the rolled up taxon --- ami/ml/post_processing/rank_rollup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py index a66eda0e0..4042612b2 100644 --- a/ami/ml/post_processing/rank_rollup.py +++ b/ami/ml/post_processing/rank_rollup.py @@ -104,7 +104,7 @@ def run(self, job: "Job") -> None: taxon=new_taxon, score=new_score, terminal=True, - algorithm=clf.algorithm, + algorithm=self.algorithm, timestamp=timezone.now(), ) From e13afc1205a71b18104604a0565ddf26a6e9a3b7 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Wed, 8 Oct 2025 10:41:40 -0400 Subject: [PATCH 16/44] feat: trigger rank rollup from admin page --- ami/main/admin.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/ami/main/admin.py b/ami/main/admin.py index d7d79aafa..4519ae6db 100644 --- a/ami/main/admin.py +++ b/ami/main/admin.py @@ -667,7 +667,34 @@ def run_class_masking(self, request: HttpRequest, queryset: QuerySet[SourceImage self.message_user(request, f"Queued Class Masking for {queryset.count()} collection(s). Jobs: {jobs}") - actions = [populate_collection, populate_collection_async, run_small_size_filter, run_class_masking] + @admin.action(description="Run Rank Rollup post-processing task (async)") + def run_rank_rollup(self, request: HttpRequest, queryset: QuerySet[SourceImageCollection]) -> None: + """Trigger the Rank Rollup post-processing job asynchronously.""" + jobs = [] + DEFAULT_THRESHOLDS = {"species": 0.8, "genus": 0.6, "family": 0.4} + + for collection in queryset: + job = Job.objects.create( + name=f"Post-processing: RankRollup on Collection {collection.pk}", + project=collection.project, + job_type_key="post_processing", + params={ + "task": "rank_rollup", + "config": {"source_image_collection_id": collection.pk, "thresholds": DEFAULT_THRESHOLDS}, + }, + ) + job.enqueue() + jobs.append(job.pk) + + self.message_user(request, f"Queued Rank Rollup for {queryset.count()} collection(s). Jobs: {jobs}") + + actions = [ + populate_collection, + populate_collection_async, + run_small_size_filter, + run_class_masking, + run_rank_rollup, + ] # Hide images many-to-many field from form. This would list all source images in the database. exclude = ("images",) From 7ecc18cf06cb7c781b483bb4b1102a2ad354a2a4 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:31:41 -0400 Subject: [PATCH 17/44] Remove class_masking.py from framework branch --- ami/ml/post_processing/class_masking.py | 249 ------------------------ 1 file changed, 249 deletions(-) delete mode 100644 ami/ml/post_processing/class_masking.py diff --git a/ami/ml/post_processing/class_masking.py b/ami/ml/post_processing/class_masking.py deleted file mode 100644 index 7bbf9a0e8..000000000 --- a/ami/ml/post_processing/class_masking.py +++ /dev/null @@ -1,249 +0,0 @@ -import logging - -from django.db.models import QuerySet -from django.utils import timezone - -from ami.main.models import Classification, Occurrence, SourceImageCollection, TaxaList -from ami.ml.models import Algorithm, AlgorithmCategoryMap -from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task - -logger = logging.getLogger(__name__) - - -def update_single_occurrence( - occurrence: Occurrence, - algorithm: Algorithm, - taxa_list: TaxaList, - task_logger: logging.Logger = logger, -): - task_logger.info(f"Recalculating classifications for occurrence {occurrence.pk}.") - - # Get the classifications for the occurrence in the collection - classifications = Classification.objects.filter( - detection__occurrence=occurrence, - terminal=True, - algorithm=algorithm, - scores__isnull=False, - ).distinct() - - make_classifications_filtered_by_taxa_list( - classifications=classifications, - taxa_list=taxa_list, - algorithm=algorithm, - ) - - -def update_occurrences_in_collection( - collection: SourceImageCollection, - taxa_list: TaxaList, - algorithm: Algorithm, - params: dict, - task_logger: logging.Logger = logger, - job=None, -): - task_logger.info(f"Recalculating classifications based on a taxa list. Params: {params}") - - # Make new AlgorithmCategoryMap with the taxa in the list - # @TODO - - classifications = Classification.objects.filter( - detection__source_image__collections=collection, - terminal=True, - # algorithm__task_type="classification", - algorithm=algorithm, - scores__isnull=False, - ).distinct() - - make_classifications_filtered_by_taxa_list( - classifications=classifications, - taxa_list=taxa_list, - algorithm=algorithm, - ) - - -def make_classifications_filtered_by_taxa_list( - classifications: QuerySet[Classification], - taxa_list: TaxaList, - algorithm: Algorithm, -): - taxa_in_list = taxa_list.taxa.all() - - occurrences_to_update: set[Occurrence] = set() - logger.info(f"Found {len(classifications)} terminal classifications with scores to update.") - - if not classifications: - raise ValueError("No terminal classifications with scores found to update.") - - if not algorithm.category_map: - raise ValueError(f"Algorithm {algorithm} does not have a category map.") - category_map: AlgorithmCategoryMap = algorithm.category_map - - # Consider moving this to a method on the Classification model - - # @TODO find a more efficient way to get the category map with taxa. This is slow! - logger.info(f"Retrieving category map with Taxa instances for algorithm {algorithm}") - category_map_with_taxa = category_map.with_taxa() - # Filter the category map to only include taxa that are in the taxa list - # included_category_map_with_taxa = [ - # category for category in category_map_with_taxa if category["taxon"] in taxa_in_list - # ] - excluded_category_map_with_taxa = [ - category for category in category_map_with_taxa if category["taxon"] not in taxa_in_list - ] - - # included_category_indices = [int(category["index"]) for category in category_map_with_taxa] - excluded_category_indices = [ - int(category["index"]) for category in excluded_category_map_with_taxa # type: ignore - ] - - # Log number of categories in the category map, num included, and num excluded, num classifications to update - logger.info( - f"Category map has {len(category_map_with_taxa)} categories, " - f"{len(excluded_category_map_with_taxa)} categories excluded, " - f"{len(classifications)} classifications to check" - ) - - classifications_to_add = [] - classifications_to_update = [] - - timestamp = timezone.now() - for classification in classifications: - scores, logits = classification.scores, classification.logits - # Set scores and logits to zero if they are not in the filtered category indices - - import numpy as np - - # Assert that all scores & logits are lists of numbers - if not isinstance(scores, list) or not all(isinstance(score, (int, float)) for score in scores): - raise ValueError(f"Scores for classification {classification.pk} are not a list of numbers: {scores}") - if not isinstance(logits, list) or not all(isinstance(logit, (int, float)) for logit in logits): - raise ValueError(f"Logits for classification {classification.pk} are not a list of numbers: {logits}") - - logger.debug(f"Processing classification {classification.pk} with {len(scores)} scores") - logger.info(f"Previous totals: {sum(scores)} scores, {sum(logits)} logits") - - # scores_np_filtered = np.array(scores) - logits_np = np.array(logits) - - # scores_np_filtered[excluded_category_indices] = 0.0 - - # @TODO can we use np.NAN instead of 0.0? zero will NOT calculate correctly in softmax. - # @TODO delete the excluded categories from the scores and logits instead of setting to 0.0 - # logits_np[excluded_category_indices] = 0.0 - # logits_np[excluded_category_indices] = np.nan - logits_np[excluded_category_indices] = -100 - - logits: list[float] = logits_np.tolist() - - from numpy import exp - from numpy import sum as np_sum - - # @TODO add test to see if this is correct, or needed! - # Recalculate the softmax scores based on the filtered logits - scores_np: np.ndarray = exp(logits_np - np.max(logits_np)) # Subtract max for numerical stability - scores_np /= np_sum(scores_np) # Normalize to get probabilities - - scores: list = scores_np.tolist() # Convert back to list - - logger.info(f"New totals: {sum(scores)} scores, {sum(logits)} logits") - - # Get the taxon with the highest score using the index of the max score - top_index = scores.index(max(scores)) - top_taxon = category_map_with_taxa[top_index][ - "taxon" - ] # @TODO: This doesn't work if the taxon has never been classified - print("Top taxon: ", category_map_with_taxa[top_index]) # @TODO: REMOVE - print("Top index: ", top_index) # @TODO: REMOVE - - # check if needs updating - if classification.scores == scores and classification.logits == logits: - logger.debug(f"Classification {classification.pk} does not need updating") - continue - - # Consider the existing classification as an intermediate classification - classification.terminal = False - classification.updated_at = timestamp - - # Recalculate the top taxon and score - new_classification = Classification( - taxon=top_taxon, - algorithm=classification.algorithm, - score=max(scores), - scores=scores, - logits=logits, - detection=classification.detection, - timestamp=classification.timestamp, - terminal=True, - category_map=None, # @TODO need a new category map with the filtered taxa - created_at=timestamp, - updated_at=timestamp, - ) - if new_classification.taxon is None: - raise (ValueError("Classification isn't registered yet. Aborting")) # @TODO remove or fail gracefully - - classifications_to_update.append(classification) - classifications_to_add.append(new_classification) - - assert new_classification.detection is not None - assert new_classification.detection.occurrence is not None - occurrences_to_update.add(new_classification.detection.occurrence) - - logging.info( - f"Adding new classification for Taxon {top_taxon} to occurrence {new_classification.detection.occurrence}" - ) - - # Bulk update the existing classifications - if classifications_to_update: - logger.info(f"Bulk updating {len(classifications_to_update)} existing classifications") - Classification.objects.bulk_update(classifications_to_update, ["terminal", "updated_at"]) - logger.info(f"Updated {len(classifications_to_update)} existing classifications") - - if classifications_to_add: - # Bulk create the new classifications - logger.info(f"Bulk creating {len(classifications_to_add)} new classifications") - Classification.objects.bulk_create(classifications_to_add) - logger.info(f"Added {len(classifications_to_add)} new classifications") - - # Update the occurrence determinations - logger.info(f"Updating the determinations for {len(occurrences_to_update)} occurrences") - for occurrence in occurrences_to_update: - occurrence.save(update_determination=True) - logger.info(f"Updated determinations for {len(occurrences_to_update)} occurrences") - - -@register_postprocessing_task -class ClassMaskingTask(BasePostProcessingTask): - key = "class_masking" - name = "Class Masking" - - def run(self, job): - self.log_config(job) - - collection_id = self.config.get("collection_id") - taxa_list_id = self.config.get("taxa_list_id") - algorithm_id = self.config.get("algorithm_id") - - if not all([collection_id, taxa_list_id, algorithm_id]): - job.logger.error("Missing required configuration: collection_id, taxa_list_id, algorithm_id") - return - - try: - collection = SourceImageCollection.objects.get(pk=collection_id) - taxa_list = TaxaList.objects.get(pk=taxa_list_id) - algorithm = Algorithm.objects.get(pk=algorithm_id) - except Exception as e: - job.logger.exception(f"Failed to load objects: {e}") - return - - job.logger.info(f"Applying class masking on collection {collection_id} using taxa list {taxa_list_id}") - - update_occurrences_in_collection( - collection=collection, - taxa_list=taxa_list, - algorithm=algorithm, - params=self.config, - task_logger=job.logger, - job=job, - ) - - job.logger.info("Class masking completed successfully.") From f2140256f8bc620944d5588ece43fc2bee4722be Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:38:46 -0400 Subject: [PATCH 18/44] fix: initialize post-processing tasks with job context and simplify run() call --- ami/jobs/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ami/jobs/models.py b/ami/jobs/models.py index 39e7a0ff3..96470a97d 100644 --- a/ami/jobs/models.py +++ b/ami/jobs/models.py @@ -668,8 +668,8 @@ def run(cls, job: "Job"): if not task_cls: raise ValueError(f"Unknown post-processing task '{task_key}'") - task = task_cls(**config) - task.run(job) + task = task_cls(job=job, **config) + task.run() job.progress.update_stage(cls.key, status=JobState.SUCCESS, progress=1) job.finished_at = datetime.datetime.now() job.update_status(JobState.SUCCESS) From 20ff4b6b3f5b555bae81b7510f6cf05173cd642d Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:39:07 -0400 Subject: [PATCH 19/44] feat: add permission to run post-processing jobs --- ami/main/models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ami/main/models.py b/ami/main/models.py index 7e3935609..bab6b3a20 100644 --- a/ami/main/models.py +++ b/ami/main/models.py @@ -314,6 +314,7 @@ class Permissions: RUN_POPULATE_CAPTURES_COLLECTION_JOB = "run_populate_captures_collection_job" RUN_DATA_STORAGE_SYNC_JOB = "run_data_storage_sync_job" RUN_DATA_EXPORT_JOB = "run_data_export_job" + RUN_POST_PROCESSING_JOB = "run_post_processing_job" DELETE_JOB = "delete_job" # Deployment permissions @@ -376,6 +377,7 @@ class Meta: ("run_data_storage_sync_job", "Can run/retry/cancel Data Storage Sync jobs"), ("run_data_export_job", "Can run/retry/cancel Data Export jobs"), ("run_single_image_ml_job", "Can process a single capture"), + ("run_post_processing_job", "Can run/retry/cancel Post-Processing jobs"), ("delete_job", "Can delete a job"), # Deployment permissions ("create_deployment", "Can create a deployment"), From 5b66ae3033dbad38fa0b70217dfac42f14474747 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:39:41 -0400 Subject: [PATCH 20/44] chore: remove class_masking import --- ami/ml/post_processing/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ami/ml/post_processing/__init__.py b/ami/ml/post_processing/__init__.py index bf2e99698..136481120 100644 --- a/ami/ml/post_processing/__init__.py +++ b/ami/ml/post_processing/__init__.py @@ -1 +1 @@ -from . import class_masking, rank_rollup, small_size_filter # noqa: F401 +from . import rank_rollup, small_size_filter # noqa: F401 From 0419eff07909dc56467f6de2667edf8103ac25bb Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:40:29 -0400 Subject: [PATCH 21/44] refactor: redesign BasePostProcessingTask with job-aware logging, progress, and algorithm binding --- ami/ml/post_processing/base.py | 65 ++++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 26 deletions(-) diff --git a/ami/ml/post_processing/base.py b/ami/ml/post_processing/base.py index baa1c452e..f294b9aab 100644 --- a/ami/ml/post_processing/base.py +++ b/ami/ml/post_processing/base.py @@ -23,19 +23,6 @@ def register_postprocessing_task(task_cls: type["BasePostProcessingTask"]): # Register the task POSTPROCESSING_TASKS[task_cls.key] = task_cls - - # Ensure Algorithm object exists for this task - algorithm, _ = Algorithm.objects.get_or_create( - name=task_cls.__name__, - defaults={ - "description": f"Post-processing task: {task_cls.key}", - "task_type": AlgorithmTaskType.POST_PROCESSING.value, - }, - ) - - # Attach the Algorithm object to the task class - task_cls.algorithm = algorithm - return task_cls @@ -56,24 +43,50 @@ class BasePostProcessingTask(abc.ABC): key: str = "" name: str = "" - def __init__(self, **config: Any): + def __init__( + self, + job: Job | None = None, + logger: logging.Logger | None = None, + **config: Any, + ): + self.job = job + self.config = config + # Choose the right logger + if logger is not None: + self.logger = logger + elif job is not None: + self.logger = job.logger + else: + self.logger = logging.getLogger(f"ami.post_processing.{self.key}") + + algorithm, _ = Algorithm.objects.get_or_create( + name=self.__class__.__name__, + defaults={ + "description": f"Post-processing task: {self.key}", + "task_type": AlgorithmTaskType.POST_PROCESSING.value, + }, + ) + self.algorithm: Algorithm = algorithm + + self.logger.info(f"Initialized {self.__class__.__name__} with config={self.config}, job={job}") + + def update_progress(self, progress: float): """ - Initialize task with configuration parameters. + Update progress if job is present, otherwise just log. """ - self.config: dict[str, Any] = config - self.logger = logging.getLogger(f"ami.post_processing.{self.key}") + + if self.job: + self.job.progress.update_stage(self.job.job_type_key, progress=progress) + self.job.save(update_fields=["progress"]) + + else: + # No job object — fallback to plain logging + self.logger.info(f"[{self.name}] Progress {progress:.0%}") @abc.abstractmethod - def run(self, job: Job) -> None: + def run(self) -> None: """ Run the task logic. Must be implemented by subclasses. - The job parameter provides context (project, logs, etc.). - """ - raise NotImplementedError("Subclasses must implement run()") - - def log_config(self, job: Job): - """ - Helper to log the task configuration at start. """ - job.logger.info(f"Running task {self.name} ({self.key}) with config: {self.config}") + raise NotImplementedError("BasePostProcessingTask subclasses must implement run()") From 1ad1e765237d9b07763edaf06b1bfd7450dcc679 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:41:16 -0400 Subject: [PATCH 22/44] refactor: adapt RankRollupTask to new BasePostProcessingTask with self.logger and progress updates --- ami/ml/post_processing/rank_rollup.py | 55 ++++++++++++++++++++------- 1 file changed, 42 insertions(+), 13 deletions(-) diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py index 4042612b2..9f1e3b8f8 100644 --- a/ami/ml/post_processing/rank_rollup.py +++ b/ami/ml/post_processing/rank_rollup.py @@ -4,7 +4,6 @@ from django.db import transaction from django.utils import timezone -from ami.jobs.models import Job from ami.main.models import Classification, Identification, Taxon from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task @@ -34,13 +33,14 @@ class RankRollupTask(BasePostProcessingTask): """ key = "rank_rollup" - name = "Rank Rollup" + name = "Rank rollup" DEFAULT_THRESHOLDS = {"species": 0.8, "genus": 0.6, "family": 0.4} ROLLUP_ORDER = ["species", "genus", "family"] - def run(self, job: "Job") -> None: - job.logger.info(f"Running Rank Rollup task for job {job.pk}") + def run(self) -> None: + job = self.job + self.logger.info(f"Starting {self.name} task for job {job.pk if job else 'N/A'}") # ---- Read config parameters ---- config = self.config or {} @@ -49,10 +49,12 @@ def run(self, job: "Job") -> None: rollup_order = config.get("rollup_order", self.ROLLUP_ORDER) if not collection_id: - job.logger.warning("No 'source_image_collection_id' provided in job config. Aborting task.") + self.logger.warning("No 'source_image_collection_id' provided in config. Aborting task.") return - job.logger.info(f"Config: collection_id={collection_id}, thresholds={thresholds}, rollup_order={rollup_order}") + self.logger.info( + f"Config loaded: collection_id={collection_id}, thresholds={thresholds}, rollup_order={rollup_order}" + ) qs = Classification.objects.filter( terminal=True, @@ -60,11 +62,20 @@ def run(self, job: "Job") -> None: detection__source_image__collections__id=collection_id, ) + total = qs.count() + self.logger.info(f"Found {total} terminal classifications to process for collection {collection_id}") + updated_occurrences = [] with transaction.atomic(): - for clf in qs: - if not clf.scores or not clf.category_map: + for i, clf in enumerate(qs.iterator(), start=1): + self.logger.info(f"Processing classification #{clf.pk} (taxon={clf.taxon}, score={clf.score:.3f})") + + if not clf.scores: + self.logger.warning(f"Skipping classification #{clf.pk}: no scores available") + continue + if not clf.category_map: + self.logger.warning(f"Skipping classification #{clf.pk}: no category_map assigned") continue taxon_scores = defaultdict(float) @@ -76,29 +87,40 @@ def run(self, job: "Job") -> None: taxon = Taxon.objects.filter(name=label).first() if not taxon: + self.logger.debug(f"Skipping label '{label}' (no matching Taxon in DB)") continue for rank in rollup_order: ancestor = find_ancestor_by_parent_chain(taxon, rank) if ancestor: taxon_scores[ancestor] += score + self.logger.debug(f" + Added {score:.3f} to ancestor {ancestor.name} ({rank})") new_taxon = None new_score = None for rank in rollup_order: threshold = thresholds.get(rank, 1.0) candidates = {t: s for t, s in taxon_scores.items() if t.rank == rank} + if not candidates: + self.logger.debug(f"No candidates found at rank {rank}") continue + best_taxon, best_score = max(candidates.items(), key=lambda kv: kv[1]) + self.logger.debug( + f"Best at rank {rank}: {best_taxon.name} ({best_score:.3f}) [threshold={threshold}]" + ) + if best_score >= threshold: new_taxon, new_score = best_taxon, best_score + self.logger.info(f"Rollup decision: {new_taxon.name} ({rank}) with score {new_score:.3f}") break if new_taxon and new_taxon != clf.taxon: + self.logger.info(f"Rolling up {clf.taxon} → {new_taxon} ({new_taxon.rank})") + with transaction.atomic(): Classification.objects.filter(detection=clf.detection, terminal=True).update(terminal=False) - Classification.objects.create( detection=clf.detection, taxon=new_taxon, @@ -118,10 +140,17 @@ def run(self, job: "Job") -> None: ) updated_occurrences.append(occurrence.pk) - job.logger.info( - f"Rolled up occurrence {occurrence.pk}: {clf.taxon} to{new_taxon} " + self.logger.info( + f"Rolled up occurrence {occurrence.pk}: {clf.taxon} → {new_taxon} " f"({new_taxon.rank}) with rolled-up score={new_score:.3f}" ) + else: + self.logger.info(f"No rollup applied for classification #{clf.pk} (taxon={clf.taxon})") + + # 🔹 Periodic progress updates + if i % 50 == 0 or i == total: + progress = i / total if total > 0 else 1.0 + self.update_progress(progress) - job.logger.info(f"Rank rollup completed. Updated {len(updated_occurrences)} occurrences.") - job.logger.info(f"Rank rollup completed for collection {collection_id}.") + self.logger.info(f"Rank rollup completed. Updated {len(updated_occurrences)} occurrences.") + self.logger.info(f"{self.name} task finished for collection {collection_id}.") From d97e8e0e031165adfe9a2e61f3c6a99eec809e76 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:41:53 -0400 Subject: [PATCH 23/44] refactor: update SmallSizeFilter to use BasePostProcessingTask logging and progress tracking --- ami/ml/post_processing/small_size_filter.py | 42 ++++++++++----------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/ami/ml/post_processing/small_size_filter.py b/ami/ml/post_processing/small_size_filter.py index 3f144aff4..a8f9b9010 100644 --- a/ami/ml/post_processing/small_size_filter.py +++ b/ami/ml/post_processing/small_size_filter.py @@ -1,7 +1,6 @@ from django.db import transaction from django.utils import timezone -from ami.jobs.models import Job from ami.main.models import Detection, Identification, SourceImageCollection, Taxon, TaxonRank from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task @@ -9,13 +8,13 @@ @register_postprocessing_task class SmallSizeFilter(BasePostProcessingTask): key = "small_size_filter" - name = "Small Size Filter" + name = "Small size filter" - def run(self, job: "Job") -> None: + def run(self) -> None: threshold = self.config.get("size_threshold", 0.01) collection_id = self.config.get("source_image_collection_id") - # Get or create the "Not identifiable" taxon + # Get or create the "Not identifiable" taxon not_identifiable_taxon, _ = Taxon.objects.get_or_create( name="Not identifiable", defaults={ @@ -23,43 +22,43 @@ def run(self, job: "Job") -> None: "notes": "Auto-generated taxon for small size filter", }, ) - job.logger.info(f"=== Starting {self.name} ===") + self.logger.info(f"=== Starting {self.name} ===") if not collection_id: msg = "Missing required config param: source_image_collection_id" - job.logger.error(msg) + self.logger.error(msg) raise ValueError(msg) try: collection = SourceImageCollection.objects.get(pk=collection_id) - job.logger.info(f"Loaded SourceImageCollection {collection_id} " f"(Project={collection.project})") + self.logger.info(f"Loaded SourceImageCollection {collection_id} (Project={collection.project})") except SourceImageCollection.DoesNotExist: msg = f"SourceImageCollection {collection_id} not found" - job.logger.error(msg) + self.logger.error(msg) raise ValueError(msg) detections = Detection.objects.filter(source_image__collections=collection) total = detections.count() - job.logger.info(f"Found {total} detections in collection {collection_id}") + self.logger.info(f"Found {total} detections in collection {collection_id}") modified = 0 - for det in detections.iterator(): + for i, det in enumerate(detections.iterator(), start=1): bbox = det.get_bbox() if not bbox: - job.logger.debug(f"Detection {det.pk}: no bbox, skipping") + self.logger.debug(f"Detection {det.pk}: no bbox, skipping") continue img_w, img_h = det.source_image.width, det.source_image.height if not img_w or not img_h: - job.logger.debug(f"Detection {det.pk}: missing source image dims, skipping") + self.logger.debug(f"Detection {det.pk}: missing source image dims, skipping") continue det_area = det.width() * det.height() img_area = img_w * img_h rel_area = det_area / img_area if img_area else 0 - job.logger.debug( + self.logger.debug( f"Detection {det.pk}: area={det_area}, rel_area={rel_area:.4f}, " f"threshold={threshold:.4f}" ) @@ -82,18 +81,15 @@ def run(self, job: "Job") -> None: Identification.objects.create( occurrence=det.occurrence, taxon=not_identifiable_taxon, - user=None, # since this comes from a post-processing algorithm not a human + user=None, # auto-generated by post-processing comment=f"Auto-set by {self.name} post-processing task", ) modified += 1 - job.logger.debug(f"Detection {det.pk}: marked as 'Not identifiable'") + self.logger.info(f"Detection {det.pk}: marked as 'Not identifiable'") - job.logger.info(f"=== Completed {self.name}: {modified}/{total} detections modified ===") + # Update progress every 10 detections + if i % 10 == 0 or i == total: + progress = i / total if total > 0 else 1.0 + self.update_progress(progress) - job.result = { - "detections_total": total, - "detections_modified": modified, - "threshold": threshold, - "collection_id": collection_id, - } - job.save(update_fields=["result"]) + self.logger.info(f"=== Completed {self.name}: {modified}/{total} detections modified ===") From 2922c86c1a0044f5630d076464320abccb4983a3 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:43:24 -0400 Subject: [PATCH 24/44] migrations: update Project options to include post-processing job permission --- .../migrations/0075_alter_project_options.py | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ami/main/migrations/0075_alter_project_options.py diff --git a/ami/main/migrations/0075_alter_project_options.py b/ami/main/migrations/0075_alter_project_options.py new file mode 100644 index 000000000..618ba1753 --- /dev/null +++ b/ami/main/migrations/0075_alter_project_options.py @@ -0,0 +1,59 @@ +# Generated by Django 4.2.10 on 2025-10-14 05:01 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("main", "0074_taxon_cover_image_credit_taxon_cover_image_url_and_more"), + ] + + operations = [ + migrations.AlterModelOptions( + name="project", + options={ + "ordering": ["-priority", "created_at"], + "permissions": [ + ("create_identification", "Can create identifications"), + ("update_identification", "Can update identifications"), + ("delete_identification", "Can delete identifications"), + ("create_job", "Can create a job"), + ("update_job", "Can update a job"), + ("run_ml_job", "Can run/retry/cancel ML jobs"), + ("run_populate_captures_collection_job", "Can run/retry/cancel Populate Collection jobs"), + ("run_data_storage_sync_job", "Can run/retry/cancel Data Storage Sync jobs"), + ("run_data_export_job", "Can run/retry/cancel Data Export jobs"), + ("run_single_image_ml_job", "Can process a single capture"), + ("run_post_processing_job", "Can run/retry/cancel Post-Processing jobs"), + ("delete_job", "Can delete a job"), + ("create_deployment", "Can create a deployment"), + ("delete_deployment", "Can delete a deployment"), + ("update_deployment", "Can update a deployment"), + ("sync_deployment", "Can sync images to a deployment"), + ("create_sourceimagecollection", "Can create a collection"), + ("update_sourceimagecollection", "Can update a collection"), + ("delete_sourceimagecollection", "Can delete a collection"), + ("populate_sourceimagecollection", "Can populate a collection"), + ("create_sourceimage", "Can create a source image"), + ("update_sourceimage", "Can update a source image"), + ("delete_sourceimage", "Can delete a source image"), + ("star_sourceimage", "Can star a source image"), + ("create_sourceimageupload", "Can create a source image upload"), + ("update_sourceimageupload", "Can update a source image upload"), + ("delete_sourceimageupload", "Can delete a source image upload"), + ("create_s3storagesource", "Can create storage"), + ("delete_s3storagesource", "Can delete storage"), + ("update_s3storagesource", "Can update storage"), + ("test_s3storagesource", "Can test storage connection"), + ("create_site", "Can create a site"), + ("delete_site", "Can delete a site"), + ("update_site", "Can update a site"), + ("create_device", "Can create a device"), + ("delete_device", "Can delete a device"), + ("update_device", "Can update a device"), + ("view_private_data", "Can view private data"), + ("trigger_exports", "Can trigger data exports"), + ], + }, + ), + ] From 9012d7f365a661803dc8b86ffd01fb83d8c1b713 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 11:43:41 -0400 Subject: [PATCH 25/44] migrations: update Algorithm.task_type choices to include post-processing --- .../0025_alter_algorithm_task_type.py | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 ami/ml/migrations/0025_alter_algorithm_task_type.py diff --git a/ami/ml/migrations/0025_alter_algorithm_task_type.py b/ami/ml/migrations/0025_alter_algorithm_task_type.py new file mode 100644 index 000000000..6fc4e8167 --- /dev/null +++ b/ami/ml/migrations/0025_alter_algorithm_task_type.py @@ -0,0 +1,42 @@ +# Generated by Django 4.2.10 on 2025-10-14 05:01 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("ml", "0024_fix_classifications_missing_category_maps"), + ] + + operations = [ + migrations.AlterField( + model_name="algorithm", + name="task_type", + field=models.CharField( + choices=[ + ("detection", "Detection"), + ("localization", "Localization"), + ("segmentation", "Segmentation"), + ("classification", "Classification"), + ("embedding", "Embedding"), + ("tracking", "Tracking"), + ("tagging", "Tagging"), + ("regression", "Regression"), + ("captioning", "Captioning"), + ("generation", "Generation"), + ("translation", "Translation"), + ("summarization", "Summarization"), + ("question_answering", "Question Answering"), + ("depth_estimation", "Depth Estimation"), + ("pose_estimation", "Pose Estimation"), + ("size_estimation", "Size Estimation"), + ("post_processing", "Post Processing"), + ("other", "Other"), + ("unknown", "Unknown"), + ], + default="unknown", + max_length=255, + null=True, + ), + ), + ] From 787ac0ba4fcf4782bccc3633d5e9b267d8e97bbe Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 14:27:20 -0400 Subject: [PATCH 26/44] migrations: merged migrations --- ami/main/migrations/0077_merge_20251014_1426.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 ami/main/migrations/0077_merge_20251014_1426.py diff --git a/ami/main/migrations/0077_merge_20251014_1426.py b/ami/main/migrations/0077_merge_20251014_1426.py new file mode 100644 index 000000000..7826482e0 --- /dev/null +++ b/ami/main/migrations/0077_merge_20251014_1426.py @@ -0,0 +1,12 @@ +# Generated by Django 4.2.10 on 2025-10-14 14:26 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("main", "0075_alter_project_options"), + ("main", "0076_add_occurrence_composite_indexes"), + ] + + operations = [] From 5e85b75ddf18382a884f94620873145730585ec8 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Fri, 10 Oct 2025 10:58:51 -0400 Subject: [PATCH 27/44] refactor: refactor job runner to initialize post-processing tasks with job context --- ami/jobs/models.py | 7 ++- ami/ml/post_processing/base.py | 56 +++++++-------------- ami/ml/post_processing/small_size_filter.py | 9 +--- 3 files changed, 25 insertions(+), 47 deletions(-) diff --git a/ami/jobs/models.py b/ami/jobs/models.py index 96470a97d..27d8f5946 100644 --- a/ami/jobs/models.py +++ b/ami/jobs/models.py @@ -662,13 +662,16 @@ def run(cls, job: "Job"): params = job.params or {} task_key: str = params.get("task", "") config = params.get("config", {}) - job.logger.info(f"Post-processing task: {task_key} with params: {job.params}") - + job.logger.info(f"Post-processing task: {task_key} with params: {config}") + # Get the registered task class task_cls = get_postprocessing_task(task_key) if not task_cls: raise ValueError(f"Unknown post-processing task '{task_key}'") + # Instantiate the task with job context and config task = task_cls(job=job, **config) + + # Run the task task.run() job.progress.update_stage(cls.key, status=JobState.SUCCESS, progress=1) job.finished_at = datetime.datetime.now() diff --git a/ami/ml/post_processing/base.py b/ami/ml/post_processing/base.py index f294b9aab..bd1e8b0e2 100644 --- a/ami/ml/post_processing/base.py +++ b/ami/ml/post_processing/base.py @@ -2,7 +2,7 @@ import abc import logging -from typing import Any +from typing import Any, Optional from ami.jobs.models import Job from ami.ml.models import Algorithm @@ -39,54 +39,34 @@ class BasePostProcessingTask(abc.ABC): Abstract base class for all post-processing tasks. """ - # Each task must override these key: str = "" name: str = "" def __init__( self, - job: Job | None = None, - logger: logging.Logger | None = None, + job: Optional["Job"] = None, + task_logger: logging.Logger | None = None, **config: Any, ): - self.job = job - self.config = config - # Choose the right logger - if logger is not None: - self.logger = logger - elif job is not None: - self.logger = job.logger - else: - self.logger = logging.getLogger(f"ami.post_processing.{self.key}") - - algorithm, _ = Algorithm.objects.get_or_create( - name=self.__class__.__name__, - defaults={ - "description": f"Post-processing task: {self.key}", - "task_type": AlgorithmTaskType.POST_PROCESSING.value, - }, - ) - self.algorithm: Algorithm = algorithm - - self.logger.info(f"Initialized {self.__class__.__name__} with config={self.config}, job={job}") - - def update_progress(self, progress: float): """ - Update progress if job is present, otherwise just log. + Initialize task with optional job and logger context. """ + self.job = job + self.config: dict[str, Any] = config - if self.job: - self.job.progress.update_stage(self.job.job_type_key, progress=progress) - self.job.save(update_fields=["progress"]) - + if job: + self.logger = job.logger + elif task_logger: + self.logger = task_logger else: - # No job object — fallback to plain logging - self.logger.info(f"[{self.name}] Progress {progress:.0%}") + self.logger = logging.getLogger(f"ami.post_processing.{self.key}") + self.log_config() @abc.abstractmethod def run(self) -> None: - """ - Run the task logic. - Must be implemented by subclasses. - """ - raise NotImplementedError("BasePostProcessingTask subclasses must implement run()") + """Run the task logic. Must be implemented by subclasses.""" + raise NotImplementedError("Subclasses must implement run()") + + def log_config(self): + """Helper to log the task configuration at start.""" + self.logger.info(f"Running task {self.name} ({self.key}) with config: {self.config}") diff --git a/ami/ml/post_processing/small_size_filter.py b/ami/ml/post_processing/small_size_filter.py index a8f9b9010..33f9901b9 100644 --- a/ami/ml/post_processing/small_size_filter.py +++ b/ami/ml/post_processing/small_size_filter.py @@ -31,7 +31,7 @@ def run(self) -> None: try: collection = SourceImageCollection.objects.get(pk=collection_id) - self.logger.info(f"Loaded SourceImageCollection {collection_id} (Project={collection.project})") + self.logger.info(f"Loaded SourceImageCollection {collection_id} " f"(Project={collection.project})") except SourceImageCollection.DoesNotExist: msg = f"SourceImageCollection {collection_id} not found" self.logger.error(msg) @@ -85,11 +85,6 @@ def run(self) -> None: comment=f"Auto-set by {self.name} post-processing task", ) modified += 1 - self.logger.info(f"Detection {det.pk}: marked as 'Not identifiable'") - - # Update progress every 10 detections - if i % 10 == 0 or i == total: - progress = i / total if total > 0 else 1.0 - self.update_progress(progress) + self.logger.debug(f"Detection {det.pk}: marked as 'Not identifiable'") self.logger.info(f"=== Completed {self.name}: {modified}/{total} detections modified ===") From 88ffba8fb7e03c12aa2513cf79112cb790f301aa Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 14:52:36 -0400 Subject: [PATCH 28/44] chore: rebase feat/postprocessing-class-masking onto feat/postprocessing-framework --- ami/ml/post_processing/__init__.py | 2 +- ami/ml/post_processing/base.py | 56 +++-- ami/ml/post_processing/class_masking.py | 253 ++++++++++++++++++++ ami/ml/post_processing/small_size_filter.py | 9 +- 4 files changed, 299 insertions(+), 21 deletions(-) create mode 100644 ami/ml/post_processing/class_masking.py diff --git a/ami/ml/post_processing/__init__.py b/ami/ml/post_processing/__init__.py index 136481120..bf2e99698 100644 --- a/ami/ml/post_processing/__init__.py +++ b/ami/ml/post_processing/__init__.py @@ -1 +1 @@ -from . import rank_rollup, small_size_filter # noqa: F401 +from . import class_masking, rank_rollup, small_size_filter # noqa: F401 diff --git a/ami/ml/post_processing/base.py b/ami/ml/post_processing/base.py index bd1e8b0e2..f294b9aab 100644 --- a/ami/ml/post_processing/base.py +++ b/ami/ml/post_processing/base.py @@ -2,7 +2,7 @@ import abc import logging -from typing import Any, Optional +from typing import Any from ami.jobs.models import Job from ami.ml.models import Algorithm @@ -39,34 +39,54 @@ class BasePostProcessingTask(abc.ABC): Abstract base class for all post-processing tasks. """ + # Each task must override these key: str = "" name: str = "" def __init__( self, - job: Optional["Job"] = None, - task_logger: logging.Logger | None = None, + job: Job | None = None, + logger: logging.Logger | None = None, **config: Any, ): - """ - Initialize task with optional job and logger context. - """ self.job = job - self.config: dict[str, Any] = config - - if job: + self.config = config + # Choose the right logger + if logger is not None: + self.logger = logger + elif job is not None: self.logger = job.logger - elif task_logger: - self.logger = task_logger else: self.logger = logging.getLogger(f"ami.post_processing.{self.key}") - self.log_config() + + algorithm, _ = Algorithm.objects.get_or_create( + name=self.__class__.__name__, + defaults={ + "description": f"Post-processing task: {self.key}", + "task_type": AlgorithmTaskType.POST_PROCESSING.value, + }, + ) + self.algorithm: Algorithm = algorithm + + self.logger.info(f"Initialized {self.__class__.__name__} with config={self.config}, job={job}") + + def update_progress(self, progress: float): + """ + Update progress if job is present, otherwise just log. + """ + + if self.job: + self.job.progress.update_stage(self.job.job_type_key, progress=progress) + self.job.save(update_fields=["progress"]) + + else: + # No job object — fallback to plain logging + self.logger.info(f"[{self.name}] Progress {progress:.0%}") @abc.abstractmethod def run(self) -> None: - """Run the task logic. Must be implemented by subclasses.""" - raise NotImplementedError("Subclasses must implement run()") - - def log_config(self): - """Helper to log the task configuration at start.""" - self.logger.info(f"Running task {self.name} ({self.key}) with config: {self.config}") + """ + Run the task logic. + Must be implemented by subclasses. + """ + raise NotImplementedError("BasePostProcessingTask subclasses must implement run()") diff --git a/ami/ml/post_processing/class_masking.py b/ami/ml/post_processing/class_masking.py new file mode 100644 index 000000000..04c621830 --- /dev/null +++ b/ami/ml/post_processing/class_masking.py @@ -0,0 +1,253 @@ +import logging + +from django.db.models import QuerySet +from django.utils import timezone + +from ami.main.models import Classification, Occurrence, SourceImageCollection, TaxaList +from ami.ml.models import Algorithm, AlgorithmCategoryMap +from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task + +logger = logging.getLogger(__name__) + + +def update_single_occurrence( + occurrence: Occurrence, + algorithm: Algorithm, + taxa_list: TaxaList, + task_logger: logging.Logger = logger, +): + task_logger.info(f"Recalculating classifications for occurrence {occurrence.pk}.") + + # Get the classifications for the occurrence in the collection + classifications = Classification.objects.filter( + detection__occurrence=occurrence, + terminal=True, + algorithm=algorithm, + scores__isnull=False, + ).distinct() + + make_classifications_filtered_by_taxa_list( + classifications=classifications, + taxa_list=taxa_list, + algorithm=algorithm, + ) + + +def update_occurrences_in_collection( + collection: SourceImageCollection, + taxa_list: TaxaList, + algorithm: Algorithm, + params: dict, + task_logger: logging.Logger = logger, + job=None, +): + task_logger.info(f"Recalculating classifications based on a taxa list. Params: {params}") + + # Make new AlgorithmCategoryMap with the taxa in the list + # @TODO + + classifications = Classification.objects.filter( + detection__source_image__collections=collection, + terminal=True, + # algorithm__task_type="classification", + algorithm=algorithm, + scores__isnull=False, + ).distinct() + + make_classifications_filtered_by_taxa_list( + classifications=classifications, + taxa_list=taxa_list, + algorithm=algorithm, + ) + + +def make_classifications_filtered_by_taxa_list( + classifications: QuerySet[Classification], + taxa_list: TaxaList, + algorithm: Algorithm, +): + taxa_in_list = taxa_list.taxa.all() + + occurrences_to_update: set[Occurrence] = set() + logger.info(f"Found {len(classifications)} terminal classifications with scores to update.") + + if not classifications: + raise ValueError("No terminal classifications with scores found to update.") + + if not algorithm.category_map: + raise ValueError(f"Algorithm {algorithm} does not have a category map.") + category_map: AlgorithmCategoryMap = algorithm.category_map + + # Consider moving this to a method on the Classification model + + # @TODO find a more efficient way to get the category map with taxa. This is slow! + logger.info(f"Retrieving category map with Taxa instances for algorithm {algorithm}") + category_map_with_taxa = category_map.with_taxa() + # Filter the category map to only include taxa that are in the taxa list + # included_category_map_with_taxa = [ + # category for category in category_map_with_taxa if category["taxon"] in taxa_in_list + # ] + excluded_category_map_with_taxa = [ + category for category in category_map_with_taxa if category["taxon"] not in taxa_in_list + ] + + # included_category_indices = [int(category["index"]) for category in category_map_with_taxa] + excluded_category_indices = [ + int(category["index"]) for category in excluded_category_map_with_taxa # type: ignore + ] + + # Log number of categories in the category map, num included, and num excluded, num classifications to update + logger.info( + f"Category map has {len(category_map_with_taxa)} categories, " + f"{len(excluded_category_map_with_taxa)} categories excluded, " + f"{len(classifications)} classifications to check" + ) + + classifications_to_add = [] + classifications_to_update = [] + + timestamp = timezone.now() + for classification in classifications: + scores, logits = classification.scores, classification.logits + # Set scores and logits to zero if they are not in the filtered category indices + + import numpy as np + + # Assert that all scores & logits are lists of numbers + if not isinstance(scores, list) or not all(isinstance(score, (int, float)) for score in scores): + raise ValueError(f"Scores for classification {classification.pk} are not a list of numbers: {scores}") + if not isinstance(logits, list) or not all(isinstance(logit, (int, float)) for logit in logits): + raise ValueError(f"Logits for classification {classification.pk} are not a list of numbers: {logits}") + + logger.debug(f"Processing classification {classification.pk} with {len(scores)} scores") + logger.info(f"Previous totals: {sum(scores)} scores, {sum(logits)} logits") + + # scores_np_filtered = np.array(scores) + logits_np = np.array(logits) + + # scores_np_filtered[excluded_category_indices] = 0.0 + + # @TODO can we use np.NAN instead of 0.0? zero will NOT calculate correctly in softmax. + # @TODO delete the excluded categories from the scores and logits instead of setting to 0.0 + # logits_np[excluded_category_indices] = 0.0 + # logits_np[excluded_category_indices] = np.nan + logits_np[excluded_category_indices] = -100 + + logits: list[float] = logits_np.tolist() + + from numpy import exp + from numpy import sum as np_sum + + # @TODO add test to see if this is correct, or needed! + # Recalculate the softmax scores based on the filtered logits + scores_np: np.ndarray = exp(logits_np - np.max(logits_np)) # Subtract max for numerical stability + scores_np /= np_sum(scores_np) # Normalize to get probabilities + + scores: list = scores_np.tolist() # Convert back to list + + logger.info(f"New totals: {sum(scores)} scores, {sum(logits)} logits") + + # Get the taxon with the highest score using the index of the max score + top_index = scores.index(max(scores)) + top_taxon = category_map_with_taxa[top_index][ + "taxon" + ] # @TODO: This doesn't work if the taxon has never been classified + print("Top taxon: ", category_map_with_taxa[top_index]) # @TODO: REMOVE + print("Top index: ", top_index) # @TODO: REMOVE + + # check if needs updating + if classification.scores == scores and classification.logits == logits: + logger.debug(f"Classification {classification.pk} does not need updating") + continue + + # Consider the existing classification as an intermediate classification + classification.terminal = False + classification.updated_at = timestamp + + # Recalculate the top taxon and score + new_classification = Classification( + taxon=top_taxon, + algorithm=classification.algorithm, + score=max(scores), + scores=scores, + logits=logits, + detection=classification.detection, + timestamp=classification.timestamp, + terminal=True, + category_map=None, # @TODO need a new category map with the filtered taxa + created_at=timestamp, + updated_at=timestamp, + ) + if new_classification.taxon is None: + raise (ValueError("Classification isn't registered yet. Aborting")) # @TODO remove or fail gracefully + + classifications_to_update.append(classification) + classifications_to_add.append(new_classification) + + assert new_classification.detection is not None + assert new_classification.detection.occurrence is not None + occurrences_to_update.add(new_classification.detection.occurrence) + + logging.info( + f"Adding new classification for Taxon {top_taxon} to occurrence {new_classification.detection.occurrence}" + ) + + # Bulk update the existing classifications + if classifications_to_update: + logger.info(f"Bulk updating {len(classifications_to_update)} existing classifications") + Classification.objects.bulk_update(classifications_to_update, ["terminal", "updated_at"]) + logger.info(f"Updated {len(classifications_to_update)} existing classifications") + + if classifications_to_add: + # Bulk create the new classifications + logger.info(f"Bulk creating {len(classifications_to_add)} new classifications") + Classification.objects.bulk_create(classifications_to_add) + logger.info(f"Added {len(classifications_to_add)} new classifications") + + # Update the occurrence determinations + logger.info(f"Updating the determinations for {len(occurrences_to_update)} occurrences") + for occurrence in occurrences_to_update: + occurrence.save(update_determination=True) + logger.info(f"Updated determinations for {len(occurrences_to_update)} occurrences") + + +@register_postprocessing_task +class ClassMaskingTask(BasePostProcessingTask): + key = "class_masking" + name = "Class masking" + + def run(self) -> None: + """Apply class masking on a source image collection using a taxa list.""" + job = self.job + self.logger.info(f"=== Starting {self.name} ===") + + collection_id = self.config.get("collection_id") + taxa_list_id = self.config.get("taxa_list_id") + algorithm_id = self.config.get("algorithm_id") + + # Validate config parameters + if not all([collection_id, taxa_list_id, algorithm_id]): + self.logger.error("Missing required configuration: collection_id, taxa_list_id, algorithm_id") + return + + try: + collection = SourceImageCollection.objects.get(pk=collection_id) + taxa_list = TaxaList.objects.get(pk=taxa_list_id) + algorithm = Algorithm.objects.get(pk=algorithm_id) + except Exception as e: + self.logger.exception(f"Failed to load objects: {e}") + return + + self.logger.info(f"Applying class masking on collection {collection_id} using taxa list {taxa_list_id}") + + update_occurrences_in_collection( + collection=collection, + taxa_list=taxa_list, + algorithm=algorithm, + params=self.config, + task_logger=self.logger, + job=job, + ) + + self.logger.info("Class masking completed successfully.") + self.logger.info(f"=== Completed {self.name} ===") diff --git a/ami/ml/post_processing/small_size_filter.py b/ami/ml/post_processing/small_size_filter.py index 33f9901b9..a8f9b9010 100644 --- a/ami/ml/post_processing/small_size_filter.py +++ b/ami/ml/post_processing/small_size_filter.py @@ -31,7 +31,7 @@ def run(self) -> None: try: collection = SourceImageCollection.objects.get(pk=collection_id) - self.logger.info(f"Loaded SourceImageCollection {collection_id} " f"(Project={collection.project})") + self.logger.info(f"Loaded SourceImageCollection {collection_id} (Project={collection.project})") except SourceImageCollection.DoesNotExist: msg = f"SourceImageCollection {collection_id} not found" self.logger.error(msg) @@ -85,6 +85,11 @@ def run(self) -> None: comment=f"Auto-set by {self.name} post-processing task", ) modified += 1 - self.logger.debug(f"Detection {det.pk}: marked as 'Not identifiable'") + self.logger.info(f"Detection {det.pk}: marked as 'Not identifiable'") + + # Update progress every 10 detections + if i % 10 == 0 or i == total: + progress = i / total if total > 0 else 1.0 + self.update_progress(progress) self.logger.info(f"=== Completed {self.name}: {modified}/{total} detections modified ===") From 951960058b48cc12794389a57a018aa12e92fbe1 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 14:55:24 -0400 Subject: [PATCH 29/44] chore: remove class masking trigger (moved to feat/postprocessing-class-masking branch) --- ami/main/admin.py | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/ami/main/admin.py b/ami/main/admin.py index 4519ae6db..5cfa03b79 100644 --- a/ami/main/admin.py +++ b/ami/main/admin.py @@ -641,32 +641,6 @@ def run_small_size_filter(self, request: HttpRequest, queryset: QuerySet[SourceI self.message_user(request, f"Queued Small Size Filter for {queryset.count()} collection(s). Jobs: {jobs}") - @admin.action(description="Run Class Masking post-processing task (async)") - def run_class_masking(self, request: HttpRequest, queryset: QuerySet[SourceImageCollection]) -> None: - jobs = [] - - DEFAULT_TAXA_LIST_ID = 5 - DEFAULT_ALGORITHM_ID = 11 - - for collection in queryset: - job = Job.objects.create( - name=f"Post-processing: ClassMasking on Collection {collection.pk}", - project=collection.project, - job_type_key="post_processing", - params={ - "task": "class_masking", - "config": { - "collection_id": collection.pk, - "taxa_list_id": DEFAULT_TAXA_LIST_ID, - "algorithm_id": DEFAULT_ALGORITHM_ID, - }, - }, - ) - job.enqueue() - jobs.append(job.pk) - - self.message_user(request, f"Queued Class Masking for {queryset.count()} collection(s). Jobs: {jobs}") - @admin.action(description="Run Rank Rollup post-processing task (async)") def run_rank_rollup(self, request: HttpRequest, queryset: QuerySet[SourceImageCollection]) -> None: """Trigger the Rank Rollup post-processing job asynchronously.""" @@ -692,7 +666,6 @@ def run_rank_rollup(self, request: HttpRequest, queryset: QuerySet[SourceImageCo populate_collection, populate_collection_async, run_small_size_filter, - run_class_masking, run_rank_rollup, ] From 21e664841a2f3e4aff069d02d668241911cc263a Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 15:40:19 -0400 Subject: [PATCH 30/44] feat: improved progress tracking --- ami/ml/post_processing/rank_rollup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py index 9f1e3b8f8..70a821e80 100644 --- a/ami/ml/post_processing/rank_rollup.py +++ b/ami/ml/post_processing/rank_rollup.py @@ -147,8 +147,8 @@ def run(self) -> None: else: self.logger.info(f"No rollup applied for classification #{clf.pk} (taxon={clf.taxon})") - # 🔹 Periodic progress updates - if i % 50 == 0 or i == total: + # Update progress every 10 iterations + if i % 10 == 0 or i == total: progress = i / total if total > 0 else 1.0 self.update_progress(progress) From 6632c314c98f30020572e6652c3f8ae27aa171fa Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Tue, 14 Oct 2025 21:34:28 -0400 Subject: [PATCH 31/44] feat: add applied_to field to Classification to track source classification --- .../0078_classification_applied_to.py | 25 +++++++++++++++++++ ami/main/models.py | 12 ++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 ami/main/migrations/0078_classification_applied_to.py diff --git a/ami/main/migrations/0078_classification_applied_to.py b/ami/main/migrations/0078_classification_applied_to.py new file mode 100644 index 000000000..b938f42bb --- /dev/null +++ b/ami/main/migrations/0078_classification_applied_to.py @@ -0,0 +1,25 @@ +# Generated by Django 4.2.10 on 2025-10-14 21:32 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + dependencies = [ + ("main", "0077_merge_20251014_1426"), + ] + + operations = [ + migrations.AddField( + model_name="classification", + name="applied_to", + field=models.ForeignKey( + blank=True, + help_text="If this classification was produced by a post-processing algorithm, this field references the original classification it was applied to.", + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="derived_classifications", + to="main.classification", + ), + ), + ] diff --git a/ami/main/models.py b/ami/main/models.py index 9556018f4..1a9028cb7 100644 --- a/ami/main/models.py +++ b/ami/main/models.py @@ -2226,7 +2226,17 @@ class Classification(BaseModel): related_name="classifications", ) # job = models.CharField(max_length=255, null=True) - + applied_to = models.ForeignKey( + "self", + on_delete=models.SET_NULL, + null=True, + blank=True, + related_name="derived_classifications", + help_text=( + "If this classification was produced by a post-processing algorithm, " + "this field references the original classification it was applied to." + ), + ) objects = ClassificationManager() # Type hints for auto-generated fields From 23f80fb5311fc24d416e0e50f231de8cbd72d22b Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Wed, 15 Oct 2025 00:13:11 -0400 Subject: [PATCH 32/44] tests: added tests for small size filter and rank roll up post-processing tasks --- ami/ml/tests.py | 209 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 206 insertions(+), 3 deletions(-) diff --git a/ami/ml/tests.py b/ami/ml/tests.py index d14c04dfb..43e90fac0 100644 --- a/ami/ml/tests.py +++ b/ami/ml/tests.py @@ -1,13 +1,28 @@ import datetime +import pathlib import unittest +import uuid from django.test import TestCase from rest_framework.test import APIRequestFactory, APITestCase from ami.base.serializers import reverse_with_params -from ami.main.models import Detection, Project, SourceImage, SourceImageCollection -from ami.ml.models import Algorithm, Pipeline, ProcessingService +from ami.main.models import ( + Classification, + Detection, + Occurrence, + Project, + SourceImage, + SourceImageCollection, + Taxon, + TaxonRank, + group_images_into_events, +) +from ami.ml.models import Algorithm, AlgorithmCategoryMap, Pipeline, ProcessingService +from ami.ml.models.algorithm import AlgorithmTaskType from ami.ml.models.pipeline import collect_images, get_or_create_algorithm_and_category_map, save_results +from ami.ml.post_processing.rank_rollup import RankRollupTask +from ami.ml.post_processing.small_size_filter import SmallSizeFilterTask from ami.ml.schemas import ( AlgorithmConfigResponse, AlgorithmReference, @@ -17,7 +32,12 @@ PipelineResultsResponse, SourceImageResponse, ) -from ami.tests.fixtures.main import create_captures_from_files, create_processing_service, setup_test_project +from ami.tests.fixtures.main import ( + create_captures_from_files, + create_processing_service, + create_taxa, + setup_test_project, +) from ami.tests.fixtures.ml import ALGORITHM_CHOICES from ami.users.models import User @@ -713,3 +733,186 @@ def test_labels_data_conversion_methods(self): # Verify conversions are correct self.assertEqual(test_data, converted_data) self.assertEqual(test_labels, converted_labels) + + +class TestPostProcessingTasks(TestCase): + def setUp(self): + # Create test project, deployment, and default setup + self.project, self.deployment = setup_test_project() + create_taxa(project=self.project) + self._create_images_with_dimensions(deployment=self.deployment) + group_images_into_events(deployment=self.deployment) + + # Create a simple SourceImageCollection for testing + self.collection = SourceImageCollection.objects.create( + name="Test PostProcessing Collection", + project=self.project, + method="manual", + kwargs={"image_ids": list(self.deployment.captures.values_list("pk", flat=True))}, + ) + self.collection.populate_sample() + + # Select example taxa + self.species_taxon = Taxon.objects.filter(rank=TaxonRank.SPECIES.name).first() + self.genus_taxon = self.species_taxon.parent if self.species_taxon else None + self.assertIsNotNone(self.species_taxon) + self.assertIsNotNone(self.genus_taxon) + self.algorithm = self._create_category_map_with_algorithm() + + def _create_images_with_dimensions( + self, + deployment, + num_images: int = 5, + width: int = 640, + height: int = 480, + update_deployment: bool = True, + ): + """ + Create SourceImages for a deployment with specified width and height. + """ + + created = [] + base_time = datetime.datetime.now(datetime.timezone.utc) + + for i in range(num_images): + random_prefix = uuid.uuid4().hex[:8] + path = pathlib.Path("test") / f"{random_prefix}_{i}.jpg" + + image = SourceImage.objects.create( + deployment=deployment, + project=deployment.project, + timestamp=base_time + datetime.timedelta(minutes=i * 5), + path=path, + width=width, + height=height, + ) + created.append(image) + + if update_deployment: + deployment.save(update_calculated_fields=True, regroup_async=False) + + def test_small_size_filter_assigns_not_identifiable(self): + """ + Test that SmallSizeFilterTask correctly assigns 'Not identifiable' + to detections below the configured minimum size. + """ + # Create small detections on the collection images + for image in self.collection.images.all(): + Detection.objects.create( + source_image=image, + bbox=[0, 0, 10, 10], # small detection + created_at=datetime.datetime.now(datetime.timezone.utc), + ).associate_new_occurrence() + + # Prepare the task configuration + task = SmallSizeFilterTask( + source_image_collection_id=self.collection.pk, + size_threshold=0.00001, + ) + + task.run() + + # Verify that all small detections are now classified as "Not identifiable" + not_identifiable_taxon = Taxon.objects.get(name="Not identifiable") + detections = Detection.objects.filter(source_image__in=self.collection.images.all()) + + for det in detections: + latest_classification = Classification.objects.filter(detection=det).order_by("-created_at").first() + self.assertIsNotNone(latest_classification, "Each detection should have a classification.") + self.assertEqual( + latest_classification.taxon, + not_identifiable_taxon, + f"Detection {det.pk} should be classified as 'Not identifiable'", + ) + + def _create_occurrences_with_classifications(self, num=3): + """Helper to create occurrences and terminal classifications below species threshold.""" + occurrences = [] + now = datetime.datetime.now(datetime.timezone.utc) + for i in range(num): + det = Detection.objects.create( + source_image=self.collection.images.first(), + bbox=[0, 0, 200, 200], + ) + occ = Occurrence.objects.create(project=self.project, event=self.deployment.events.first()) + occ.detections.add(det) + classification = Classification.objects.create( + detection=det, + taxon=self.species_taxon, + score=0.5, + scores=[0.5, 0.3, 0.2], + terminal=True, + timestamp=now, + algorithm=self.algorithm, + ) + occurrences.append((occ, classification)) + return occurrences + + def _create_category_map_with_algorithm(self): + """Create a simple AlgorithmCategoryMap and Algorithm to attach to classifications.""" + species_taxa = list(self.project.taxa.filter(rank=TaxonRank.SPECIES.name)[:3]) + assert species_taxa, "No species taxa found in project; run create_taxa() first." + + data = [ + { + "index": i, + "label": taxon.name, + "taxon_rank": taxon.rank, + "gbif_key": getattr(taxon, "gbif_key", None), + } + for i, taxon in enumerate(species_taxa) + ] + labels = [item["label"] for item in data] + + category_map = AlgorithmCategoryMap.objects.create( + data=data, + labels=labels, + version="v1.0", + description="Species-level category map for testing RankRollupTask", + ) + + algorithm = Algorithm.objects.create( + name="Test Species Classifier", + task_type=AlgorithmTaskType.CLASSIFICATION.value, + category_map=category_map, + ) + + return algorithm + + def test_rank_rollup_creates_new_terminal_classifications(self): + occurrences = self._create_occurrences_with_classifications(num=3) + + task = RankRollupTask( + source_image_collection_id=self.collection.pk, + thresholds={"species": 0.8, "genus": 0.6, "family": 0.4}, + ) + task.run() + + # Validate results + for occ, original_cls in occurrences: + detection = occ.detections.first() + original_cls.refresh_from_db(fields=["terminal"]) + rolled_up_cls = Classification.objects.filter(detection=detection, terminal=True).first() + + self.assertIsNotNone( + rolled_up_cls, + f"Expected a new rolled-up classification for original #{original_cls.pk}", + ) + self.assertTrue( + rolled_up_cls.terminal, + "New rolled-up classification should be marked as terminal.", + ) + self.assertFalse( + original_cls.terminal, + "Original classification should be marked as non-terminal after roll-up.", + ) + self.assertEqual( + rolled_up_cls.taxon, + self.genus_taxon, + "Rolled-up classification should have genus-level taxon.", + ) + self.assertEqual( + rolled_up_cls.applied_to, + original_cls, + "Rolled-up classification should reference the original classification.", + ) From 336636a01de2412bac041d05ace826756f7cb572 Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Wed, 15 Oct 2025 00:17:11 -0400 Subject: [PATCH 33/44] fix: create only terminal classifications and remove identification creation --- ami/ml/post_processing/rank_rollup.py | 40 ++++++++++----------- ami/ml/post_processing/small_size_filter.py | 14 ++------ 2 files changed, 22 insertions(+), 32 deletions(-) diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py index 70a821e80..d23d718b1 100644 --- a/ami/ml/post_processing/rank_rollup.py +++ b/ami/ml/post_processing/rank_rollup.py @@ -4,7 +4,7 @@ from django.db import transaction from django.utils import timezone -from ami.main.models import Classification, Identification, Taxon +from ami.main.models import Classification, Taxon from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task logger = logging.getLogger(__name__) @@ -35,8 +35,8 @@ class RankRollupTask(BasePostProcessingTask): key = "rank_rollup" name = "Rank rollup" - DEFAULT_THRESHOLDS = {"species": 0.8, "genus": 0.6, "family": 0.4} - ROLLUP_ORDER = ["species", "genus", "family"] + DEFAULT_THRESHOLDS = {"SPECIES": 0.8, "GENUS": 0.6, "FAMILY": 0.4} + ROLLUP_ORDER = ["SPECIES", "GENUS", "FAMILY"] def run(self) -> None: job = self.job @@ -49,7 +49,7 @@ def run(self) -> None: rollup_order = config.get("rollup_order", self.ROLLUP_ORDER) if not collection_id: - self.logger.warning("No 'source_image_collection_id' provided in config. Aborting task.") + self.logger.info("No 'source_image_collection_id' provided in config. Aborting task.") return self.logger.info( @@ -72,10 +72,10 @@ def run(self) -> None: self.logger.info(f"Processing classification #{clf.pk} (taxon={clf.taxon}, score={clf.score:.3f})") if not clf.scores: - self.logger.warning(f"Skipping classification #{clf.pk}: no scores available") + self.logger.info(f"Skipping classification #{clf.pk}: no scores available") continue if not clf.category_map: - self.logger.warning(f"Skipping classification #{clf.pk}: no category_map assigned") + self.logger.info(f"Skipping classification #{clf.pk}: no category_map assigned") continue taxon_scores = defaultdict(float) @@ -87,7 +87,7 @@ def run(self) -> None: taxon = Taxon.objects.filter(name=label).first() if not taxon: - self.logger.debug(f"Skipping label '{label}' (no matching Taxon in DB)") + self.logger.info(f"Skipping label '{label}' (no matching Taxon Found)") continue for rank in rollup_order: @@ -98,16 +98,20 @@ def run(self) -> None: new_taxon = None new_score = None + self.logger.info(f"Aggregated taxon scores: { {t.name: s for t, s in taxon_scores.items()} }") for rank in rollup_order: threshold = thresholds.get(rank, 1.0) + # import pdb + + # pdb.set_trace() candidates = {t: s for t, s in taxon_scores.items() if t.rank == rank} if not candidates: - self.logger.debug(f"No candidates found at rank {rank}") + self.logger.info(f"No candidates found at rank {rank}") continue best_taxon, best_score = max(candidates.items(), key=lambda kv: kv[1]) - self.logger.debug( + self.logger.info( f"Best at rank {rank}: {best_taxon.name} ({best_score:.3f}) [threshold={threshold}]" ) @@ -117,10 +121,11 @@ def run(self) -> None: break if new_taxon and new_taxon != clf.taxon: - self.logger.info(f"Rolling up {clf.taxon} → {new_taxon} ({new_taxon.rank})") + self.logger.info(f"Rolling up {clf.taxon} => {new_taxon} ({new_taxon.rank})") with transaction.atomic(): - Classification.objects.filter(detection=clf.detection, terminal=True).update(terminal=False) + # Mark all classifications for this detection as non-terminal + Classification.objects.filter(detection=clf.detection).update(terminal=False) Classification.objects.create( detection=clf.detection, taxon=new_taxon, @@ -128,20 +133,13 @@ def run(self) -> None: terminal=True, algorithm=self.algorithm, timestamp=timezone.now(), + applied_to=clf, ) occurrence = clf.detection.occurrence - if occurrence: - Identification.objects.create( - occurrence=occurrence, - taxon=new_taxon, - user=None, - comment=f"Auto-set by {self.name} post-processing task", - ) - updated_occurrences.append(occurrence.pk) - + updated_occurrences.append(occurrence) self.logger.info( - f"Rolled up occurrence {occurrence.pk}: {clf.taxon} → {new_taxon} " + f"Rolled up occurrence {occurrence.pk}: {clf.taxon} => {new_taxon} " f"({new_taxon.rank}) with rolled-up score={new_score:.3f}" ) else: diff --git a/ami/ml/post_processing/small_size_filter.py b/ami/ml/post_processing/small_size_filter.py index a8f9b9010..a21dbf649 100644 --- a/ami/ml/post_processing/small_size_filter.py +++ b/ami/ml/post_processing/small_size_filter.py @@ -1,12 +1,12 @@ from django.db import transaction from django.utils import timezone -from ami.main.models import Detection, Identification, SourceImageCollection, Taxon, TaxonRank +from ami.main.models import Detection, SourceImageCollection, Taxon, TaxonRank from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task @register_postprocessing_task -class SmallSizeFilter(BasePostProcessingTask): +class SmallSizeFilterTask(BasePostProcessingTask): key = "small_size_filter" name = "Small size filter" @@ -58,7 +58,7 @@ def run(self) -> None: img_area = img_w * img_h rel_area = det_area / img_area if img_area else 0 - self.logger.debug( + self.logger.info( f"Detection {det.pk}: area={det_area}, rel_area={rel_area:.4f}, " f"threshold={threshold:.4f}" ) @@ -76,14 +76,6 @@ def run(self) -> None: timestamp=timezone.now(), algorithm=self.algorithm, ) - # Also create/update Identification for the linked occurrence - if det.occurrence: - Identification.objects.create( - occurrence=det.occurrence, - taxon=not_identifiable_taxon, - user=None, # auto-generated by post-processing - comment=f"Auto-set by {self.name} post-processing task", - ) modified += 1 self.logger.info(f"Detection {det.pk}: marked as 'Not identifiable'") From 0d90cdef08d88887a49a2d65481d364a444195bb Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Wed, 15 Oct 2025 00:23:52 -0400 Subject: [PATCH 34/44] refactor: remove inner transaction.atomic for cleaner transaction management --- ami/ml/post_processing/rank_rollup.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py index d23d718b1..da5177b4e 100644 --- a/ami/ml/post_processing/rank_rollup.py +++ b/ami/ml/post_processing/rank_rollup.py @@ -123,18 +123,17 @@ def run(self) -> None: if new_taxon and new_taxon != clf.taxon: self.logger.info(f"Rolling up {clf.taxon} => {new_taxon} ({new_taxon.rank})") - with transaction.atomic(): - # Mark all classifications for this detection as non-terminal - Classification.objects.filter(detection=clf.detection).update(terminal=False) - Classification.objects.create( - detection=clf.detection, - taxon=new_taxon, - score=new_score, - terminal=True, - algorithm=self.algorithm, - timestamp=timezone.now(), - applied_to=clf, - ) + # Mark all classifications for this detection as non-terminal + Classification.objects.filter(detection=clf.detection).update(terminal=False) + Classification.objects.create( + detection=clf.detection, + taxon=new_taxon, + score=new_score, + terminal=True, + algorithm=self.algorithm, + timestamp=timezone.now(), + applied_to=clf, + ) occurrence = clf.detection.occurrence updated_occurrences.append(occurrence) From 23469e261b50fff8e76fdf6edff5a8c9a709643f Mon Sep 17 00:00:00 2001 From: mohamedelabbas1996 Date: Wed, 15 Oct 2025 00:27:28 -0400 Subject: [PATCH 35/44] tests: fixed small size filter test --- ami/ml/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ami/ml/tests.py b/ami/ml/tests.py index 43e90fac0..6340f7df8 100644 --- a/ami/ml/tests.py +++ b/ami/ml/tests.py @@ -807,7 +807,7 @@ def test_small_size_filter_assigns_not_identifiable(self): # Prepare the task configuration task = SmallSizeFilterTask( source_image_collection_id=self.collection.pk, - size_threshold=0.00001, + size_threshold=0.01, ) task.run() From 1b8700ee2d44a3ddab8b5886d1573cc96410d951 Mon Sep 17 00:00:00 2001 From: Michael Bunsen Date: Thu, 16 Oct 2025 01:36:53 -0700 Subject: [PATCH 36/44] draft: work towards class masking in new framework --- ami/main/admin.py | 75 ++++++++++++++++++++++++- ami/ml/post_processing/class_masking.py | 26 +++++++-- ami/ml/post_processing/registry.py | 2 + 3 files changed, 98 insertions(+), 5 deletions(-) diff --git a/ami/main/admin.py b/ami/main/admin.py index ab4b7a698..301293957 100644 --- a/ami/main/admin.py +++ b/ami/main/admin.py @@ -5,13 +5,17 @@ from django.db.models.query import QuerySet from django.http.request import HttpRequest from django.template.defaultfilters import filesizeformat +from django.urls import reverse from django.utils.formats import number_format +from django.utils.html import format_html from guardian.admin import GuardedModelAdmin import ami.utils from ami import tasks from ami.jobs.models import Job +from ami.ml.models.algorithm import Algorithm from ami.ml.models.project_pipeline_config import ProjectPipelineConfig +from ami.ml.post_processing.class_masking import update_single_occurrence from ami.ml.tasks import remove_duplicate_classifications from .models import ( @@ -289,6 +293,7 @@ class ClassificationInline(admin.TabularInline): model = Classification extra = 0 fields = ( + "classification_link", "taxon", "algorithm", "timestamp", @@ -296,6 +301,7 @@ class ClassificationInline(admin.TabularInline): "created_at", ) readonly_fields = ( + "classification_link", "taxon", "algorithm", "timestamp", @@ -303,6 +309,13 @@ class ClassificationInline(admin.TabularInline): "created_at", ) + @admin.display(description="Classification") + def classification_link(self, obj: Classification) -> str: + if obj.pk: + url = reverse("admin:main_classification_change", args=[obj.pk]) + return format_html('{}', url, f"Classification #{obj.pk}") + return "-" + def get_queryset(self, request: HttpRequest) -> QuerySet[Any]: qs = super().get_queryset(request) return qs.select_related("taxon", "algorithm", "detection") @@ -312,6 +325,7 @@ class DetectionInline(admin.TabularInline): model = Detection extra = 0 fields = ( + "detection_link", "detection_algorithm", "source_image", "timestamp", @@ -319,6 +333,7 @@ class DetectionInline(admin.TabularInline): "occurrence", ) readonly_fields = ( + "detection_link", "detection_algorithm", "source_image", "timestamp", @@ -326,6 +341,13 @@ class DetectionInline(admin.TabularInline): "occurrence", ) + @admin.display(description="ID") + def detection_link(self, obj): + if obj.pk: + url = reverse("admin:main_detection_change", args=[obj.pk]) + return format_html('{}', url, obj.pk) + return "-" + @admin.register(Detection) class DetectionAdmin(admin.ModelAdmin[Detection]): @@ -383,7 +405,7 @@ class OccurrenceAdmin(admin.ModelAdmin[Occurrence]): "determination__rank", "created_at", ) - search_fields = ("determination__name", "determination__search_names") + search_fields = ("id", "determination__name", "determination__search_names") def get_queryset(self, request: HttpRequest) -> QuerySet[Any]: qs = super().get_queryset(request) @@ -405,11 +427,60 @@ def get_queryset(self, request: HttpRequest) -> QuerySet[Any]: def detections_count(self, obj) -> int: return obj.detections_count + @admin.action(description="Update occurrence with Newfoundland species taxa list") + def update_with_newfoundland_species(self, request: HttpRequest, queryset: QuerySet[Occurrence]) -> None: + """ + Update selected occurrences using the 'Newfoundland species' taxa list + and 'Quebec & Vermont Species Classifier - Apr 2024' algorithm. + """ + try: + # Get the taxa list by name + taxa_list = TaxaList.objects.get(name="Newfoundland Species") + except TaxaList.DoesNotExist: + self.message_user( + request, + "Error: TaxaList 'Newfoundland species' not found.", + level="error", + ) + return + + try: + # Get the algorithm by name + algorithm = Algorithm.objects.get(name="Quebec & Vermont Species Classifier - Apr 2024") + except Algorithm.DoesNotExist: + self.message_user( + request, + "Error: Algorithm 'Quebec & Vermont Species Classifier - Apr 2024' not found.", + level="error", + ) + return + + # Process each occurrence + count = 0 + for occurrence in queryset: + try: + update_single_occurrence( + occurrence=occurrence, + algorithm=algorithm, + taxa_list=taxa_list, + ) + count += 1 + except Exception as e: + self.message_user( + request, + f"Error processing occurrence {occurrence.pk}: {str(e)}", + level="error", + ) + + self.message_user(request, f"Successfully updated {count} occurrence(s).") + ordering = ("-created_at",) # Add classifications as inline inlines = [DetectionInline] + actions = [update_with_newfoundland_species] + @admin.register(Classification) class ClassificationAdmin(admin.ModelAdmin[Classification]): @@ -433,6 +504,8 @@ class ClassificationAdmin(admin.ModelAdmin[Classification]): "taxon__rank", ) + autocomplete_fields = ("taxon",) + def get_queryset(self, request: HttpRequest) -> QuerySet[Any]: qs = super().get_queryset(request) return qs.select_related( diff --git a/ami/ml/post_processing/class_masking.py b/ami/ml/post_processing/class_masking.py index 04c621830..298688ba7 100644 --- a/ami/ml/post_processing/class_masking.py +++ b/ami/ml/post_processing/class_masking.py @@ -4,8 +4,8 @@ from django.utils import timezone from ami.main.models import Classification, Occurrence, SourceImageCollection, TaxaList -from ami.ml.models import Algorithm, AlgorithmCategoryMap -from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task +from ami.ml.models.algorithm import Algorithm, AlgorithmCategoryMap, AlgorithmTaskType +from ami.ml.post_processing.base import BasePostProcessingTask logger = logging.getLogger(__name__) @@ -26,10 +26,22 @@ def update_single_occurrence( scores__isnull=False, ).distinct() + # Make a new Algorithm for the filtered classifications + new_algorithm, _ = Algorithm.objects.get_or_create( + name=f"{algorithm.name} (filtered by taxa list {taxa_list.name})", + key=f"{algorithm.key}_filtered_by_taxa_list_{taxa_list.pk}", + defaults={ + "description": f"Classification algorithm {algorithm.name} filtered by taxa list {taxa_list.name}", + "task_type": AlgorithmTaskType.CLASSIFICATION.value, + "category_map": algorithm.category_map, + }, + ) + make_classifications_filtered_by_taxa_list( classifications=classifications, taxa_list=taxa_list, algorithm=algorithm, + new_algorithm=new_algorithm, ) @@ -38,6 +50,7 @@ def update_occurrences_in_collection( taxa_list: TaxaList, algorithm: Algorithm, params: dict, + new_algorithm: Algorithm, task_logger: logging.Logger = logger, job=None, ): @@ -58,6 +71,7 @@ def update_occurrences_in_collection( classifications=classifications, taxa_list=taxa_list, algorithm=algorithm, + new_algorithm=new_algorithm, ) @@ -65,6 +79,7 @@ def make_classifications_filtered_by_taxa_list( classifications: QuerySet[Classification], taxa_list: TaxaList, algorithm: Algorithm, + new_algorithm: Algorithm, ): taxa_in_list = taxa_list.taxa.all() @@ -167,7 +182,7 @@ def make_classifications_filtered_by_taxa_list( # Recalculate the top taxon and score new_classification = Classification( taxon=top_taxon, - algorithm=classification.algorithm, + algorithm=new_algorithm, score=max(scores), scores=scores, logits=logits, @@ -211,7 +226,6 @@ def make_classifications_filtered_by_taxa_list( logger.info(f"Updated determinations for {len(occurrences_to_update)} occurrences") -@register_postprocessing_task class ClassMaskingTask(BasePostProcessingTask): key = "class_masking" name = "Class masking" @@ -240,6 +254,9 @@ def run(self) -> None: self.logger.info(f"Applying class masking on collection {collection_id} using taxa list {taxa_list_id}") + # @TODO temporary, do we need a new algorithm for each class mask? + self.algorithm.category_map = algorithm.category_map # Ensure the algorithm has its category map loaded + update_occurrences_in_collection( collection=collection, taxa_list=taxa_list, @@ -247,6 +264,7 @@ def run(self) -> None: params=self.config, task_logger=self.logger, job=job, + new_algorithm=self.algorithm, ) self.logger.info("Class masking completed successfully.") diff --git a/ami/ml/post_processing/registry.py b/ami/ml/post_processing/registry.py index c85f607f9..308be18ae 100644 --- a/ami/ml/post_processing/registry.py +++ b/ami/ml/post_processing/registry.py @@ -1,8 +1,10 @@ # Registry of available post-processing tasks +from ami.ml.post_processing.class_masking import ClassMaskingTask from ami.ml.post_processing.small_size_filter import SmallSizeFilterTask POSTPROCESSING_TASKS = { SmallSizeFilterTask.key: SmallSizeFilterTask, + ClassMaskingTask.key: ClassMaskingTask, } From a466a524230301318a93eaed376b08183a3be603 Mon Sep 17 00:00:00 2001 From: Michael Bunsen Date: Wed, 18 Feb 2026 03:44:51 -0800 Subject: [PATCH 37/44] feat: add class masking tests, management command, and fix registry - Add 4 class masking tests: score redistribution, accuracy improvement, no-op when all species in list, and softmax mathematical correctness - Add `run_class_masking` management command with --collection-id, --taxa-list-id, --algorithm-id, and --dry-run options - Register RankRollupTask in post-processing registry - Remove non-existent `register_postprocessing_task` import/decorator from rank_rollup.py Co-Authored-By: Claude --- .../management/commands/run_class_masking.py | 83 +++++ ami/ml/post_processing/rank_rollup.py | 6 +- ami/ml/post_processing/registry.py | 2 + ami/ml/tests.py | 317 ++++++++++++++++++ 4 files changed, 405 insertions(+), 3 deletions(-) create mode 100644 ami/ml/management/commands/run_class_masking.py diff --git a/ami/ml/management/commands/run_class_masking.py b/ami/ml/management/commands/run_class_masking.py new file mode 100644 index 000000000..d87375d74 --- /dev/null +++ b/ami/ml/management/commands/run_class_masking.py @@ -0,0 +1,83 @@ +from django.core.management.base import BaseCommand, CommandError + +from ami.main.models import SourceImageCollection, TaxaList +from ami.ml.models.algorithm import Algorithm +from ami.ml.post_processing.class_masking import ClassMaskingTask + + +class Command(BaseCommand): + help = ( + "Run class masking post-processing on a source image collection. " + "Masks classifier logits for species not in the given taxa list and recalculates softmax scores." + ) + + def add_arguments(self, parser): + parser.add_argument("--collection-id", type=int, required=True, help="SourceImageCollection ID to process") + parser.add_argument("--taxa-list-id", type=int, required=True, help="TaxaList ID to use as the species mask") + parser.add_argument( + "--algorithm-id", type=int, required=True, help="Algorithm ID whose classifications to mask" + ) + parser.add_argument("--dry-run", action="store_true", help="Show what would be done without making changes") + + def handle(self, *args, **options): + collection_id = options["collection_id"] + taxa_list_id = options["taxa_list_id"] + algorithm_id = options["algorithm_id"] + dry_run = options["dry_run"] + + # Validate inputs + try: + collection = SourceImageCollection.objects.get(pk=collection_id) + except SourceImageCollection.DoesNotExist: + raise CommandError(f"SourceImageCollection {collection_id} does not exist.") + + try: + taxa_list = TaxaList.objects.get(pk=taxa_list_id) + except TaxaList.DoesNotExist: + raise CommandError(f"TaxaList {taxa_list_id} does not exist.") + + try: + algorithm = Algorithm.objects.get(pk=algorithm_id) + except Algorithm.DoesNotExist: + raise CommandError(f"Algorithm {algorithm_id} does not exist.") + + if not algorithm.category_map: + raise CommandError(f"Algorithm '{algorithm.name}' does not have a category map.") + + from ami.main.models import Classification + + classification_count = ( + Classification.objects.filter( + detection__source_image__collections=collection, + terminal=True, + algorithm=algorithm, + scores__isnull=False, + ) + .distinct() + .count() + ) + + taxa_count = taxa_list.taxa.count() + + self.stdout.write( + f"Collection: {collection.name} (id={collection.pk})\n" + f"Taxa list: {taxa_list.name} (id={taxa_list.pk}, {taxa_count} taxa)\n" + f"Algorithm: {algorithm.name} (id={algorithm.pk})\n" + f"Classifications to process: {classification_count}" + ) + + if classification_count == 0: + raise CommandError("No terminal classifications with scores found for this collection/algorithm.") + + if dry_run: + self.stdout.write(self.style.WARNING("Dry run — no changes made.")) + return + + self.stdout.write("Running class masking...") + task = ClassMaskingTask( + collection_id=collection_id, + taxa_list_id=taxa_list_id, + algorithm_id=algorithm_id, + ) + task.run() + self.stdout.write(self.style.SUCCESS("Class masking completed.")) diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py index da5177b4e..9708b1c63 100644 --- a/ami/ml/post_processing/rank_rollup.py +++ b/ami/ml/post_processing/rank_rollup.py @@ -5,7 +5,7 @@ from django.utils import timezone from ami.main.models import Classification, Taxon -from ami.ml.post_processing.base import BasePostProcessingTask, register_postprocessing_task +from ami.ml.post_processing.base import BasePostProcessingTask logger = logging.getLogger(__name__) @@ -26,7 +26,6 @@ def find_ancestor_by_parent_chain(taxon, target_rank: str): return None -@register_postprocessing_task class RankRollupTask(BasePostProcessingTask): """Post-processing task that rolls up low-confidence classifications to higher ranks using aggregated scores. @@ -98,7 +97,8 @@ def run(self) -> None: new_taxon = None new_score = None - self.logger.info(f"Aggregated taxon scores: { {t.name: s for t, s in taxon_scores.items()} }") + scores_str = {t.name: s for t, s in taxon_scores.items()} + self.logger.info(f"Aggregated taxon scores: {scores_str}") for rank in rollup_order: threshold = thresholds.get(rank, 1.0) # import pdb diff --git a/ami/ml/post_processing/registry.py b/ami/ml/post_processing/registry.py index 308be18ae..28fa7fb2f 100644 --- a/ami/ml/post_processing/registry.py +++ b/ami/ml/post_processing/registry.py @@ -1,10 +1,12 @@ # Registry of available post-processing tasks from ami.ml.post_processing.class_masking import ClassMaskingTask +from ami.ml.post_processing.rank_rollup import RankRollupTask from ami.ml.post_processing.small_size_filter import SmallSizeFilterTask POSTPROCESSING_TASKS = { SmallSizeFilterTask.key: SmallSizeFilterTask, ClassMaskingTask.key: ClassMaskingTask, + RankRollupTask.key: RankRollupTask, } diff --git a/ami/ml/tests.py b/ami/ml/tests.py index 99c6c5a39..aecf8859f 100644 --- a/ami/ml/tests.py +++ b/ami/ml/tests.py @@ -14,6 +14,7 @@ Project, SourceImage, SourceImageCollection, + TaxaList, Taxon, TaxonRank, group_images_into_events, @@ -21,6 +22,7 @@ from ami.ml.models import Algorithm, AlgorithmCategoryMap, Pipeline, ProcessingService from ami.ml.models.algorithm import AlgorithmTaskType from ami.ml.models.pipeline import collect_images, get_or_create_algorithm_and_category_map, save_results +from ami.ml.post_processing.class_masking import make_classifications_filtered_by_taxa_list from ami.ml.post_processing.rank_rollup import RankRollupTask from ami.ml.post_processing.small_size_filter import SmallSizeFilterTask from ami.ml.schemas import ( @@ -1006,6 +1008,321 @@ def test_rank_rollup_creates_new_terminal_classifications(self): "Rolled-up classification should reference the original classification.", ) + def _create_classification_with_logits(self, detection, taxon, score, scores, logits): + """Helper to create a classification with explicit scores and logits.""" + now = datetime.datetime.now(datetime.timezone.utc) + return Classification.objects.create( + detection=detection, + taxon=taxon, + score=score, + scores=scores, + logits=logits, + terminal=True, + timestamp=now, + algorithm=self.algorithm, + ) + + def test_class_masking_redistributes_scores(self): + """ + Test that class masking correctly recalculates softmax after masking excluded species. + + Setup: 3 species in category map (indices 0, 1, 2). + Taxa list contains only species at indices 0 and 1. + Original classification has species at index 2 as the top prediction. + After masking, the top prediction should shift to species 0 or 1. + """ + import math + + species_taxa = list(self.project.taxa.filter(rank=TaxonRank.SPECIES.name).order_by("name")[:3]) + self.assertEqual(len(species_taxa), 3) + + # Create a taxa list with only the first 2 species (exclude species_taxa[2]) + partial_taxa_list = TaxaList.objects.create(name="Partial Species List") + partial_taxa_list.taxa.set(species_taxa[:2]) + + # Logits where excluded species (index 2) has the highest value + logits = [2.0, 1.0, 5.0] # species[2] dominates + # Compute original softmax + max_logit = max(logits) + exp_logits = [math.exp(x - max_logit) for x in logits] + total = sum(exp_logits) + original_scores = [e / total for e in exp_logits] + + # Original top prediction is species[2] (the excluded one) + self.assertEqual(original_scores.index(max(original_scores)), 2) + + det = Detection.objects.create( + source_image=self.collection.images.first(), + bbox=[0, 0, 200, 200], + ) + occ = Occurrence.objects.create(project=self.project, event=self.deployment.events.first()) + occ.detections.add(det) + + original_clf = self._create_classification_with_logits( + detection=det, + taxon=species_taxa[2], # top prediction is the excluded species + score=max(original_scores), + scores=original_scores, + logits=logits, + ) + + # Create a new algorithm for masked output + new_algorithm, _ = Algorithm.objects.get_or_create( + name=f"{self.algorithm.name} (filtered by {partial_taxa_list.name})", + key=f"{self.algorithm.key}_filtered_{partial_taxa_list.pk}", + defaults={ + "task_type": AlgorithmTaskType.CLASSIFICATION.value, + "category_map": self.algorithm.category_map, + }, + ) + + classifications = Classification.objects.filter(pk=original_clf.pk) + make_classifications_filtered_by_taxa_list( + classifications=classifications, + taxa_list=partial_taxa_list, + algorithm=self.algorithm, + new_algorithm=new_algorithm, + ) + + # Original classification should be non-terminal + original_clf.refresh_from_db() + self.assertFalse(original_clf.terminal, "Original classification should be non-terminal after masking.") + + # New terminal classification should exist + new_clf = Classification.objects.filter(detection=det, terminal=True).first() + self.assertIsNotNone(new_clf, "A new terminal classification should be created.") + self.assertEqual(new_clf.algorithm, new_algorithm) + + # New top prediction should be species[0] (highest logit among allowed species) + self.assertEqual( + new_clf.taxon, + species_taxa[0], + "Top prediction should be the highest-scoring species remaining in the taxa list.", + ) + + # Scores should sum to ~1.0 (valid probability distribution) + self.assertAlmostEqual(sum(new_clf.scores), 1.0, places=5, msg="Masked scores should sum to 1.0") + + # Excluded species score should be ~0.0 + self.assertAlmostEqual( + new_clf.scores[2], + 0.0, + places=10, + msg="Excluded species score should be effectively zero.", + ) + + # New top score should be higher than original (probability mass redistributed) + self.assertGreater( + new_clf.score, + original_scores[0], + "In-list species score should increase after masking out the dominant excluded species.", + ) + + def test_class_masking_improves_accuracy(self): + """ + Test the key use case: class masking improves accuracy when the true species is in + the taxa list but was originally outscored by an out-of-list species. + + Scenario: True species is "Vanessa cardui" (in list). The classifier's top prediction + is an out-of-list species. After masking, "Vanessa cardui" should become the top + prediction, and the occurrence determination should update. + """ + species_taxa = list(self.project.taxa.filter(rank=TaxonRank.SPECIES.name).order_by("name")[:3]) + self.assertEqual(len(species_taxa), 3) + # species_taxa sorted by name: [Vanessa atalanta, Vanessa cardui, Vanessa itea] + + true_species = species_taxa[1] # Vanessa cardui — the "ground truth" + excluded_species = species_taxa[2] # Vanessa itea — not in the regional list + + # Taxa list: contains atalanta and cardui, but NOT itea + regional_list = TaxaList.objects.create(name="Regional Species List") + regional_list.taxa.set([species_taxa[0], species_taxa[1]]) + + # Logits: itea (index 2) is top, cardui (index 1) is close second, atalanta (index 0) is low + logits = [0.5, 3.0, 3.5] + + import math + + max_logit = max(logits) + exp_logits = [math.exp(x - max_logit) for x in logits] + total = sum(exp_logits) + scores = [e / total for e in exp_logits] + + # Original top prediction is the excluded species + self.assertEqual(scores.index(max(scores)), 2) + + det = Detection.objects.create( + source_image=self.collection.images.first(), + bbox=[0, 0, 200, 200], + ) + occ = Occurrence.objects.create(project=self.project, event=self.deployment.events.first()) + occ.detections.add(det) + + self._create_classification_with_logits( + detection=det, + taxon=excluded_species, + score=max(scores), + scores=scores, + logits=logits, + ) + # Occurrence determination is currently the excluded species + occ.save(update_determination=True) + occ.refresh_from_db() + self.assertEqual(occ.determination, excluded_species) + + new_algorithm, _ = Algorithm.objects.get_or_create( + name=f"{self.algorithm.name} (filtered by {regional_list.name})", + key=f"{self.algorithm.key}_filtered_{regional_list.pk}", + defaults={ + "task_type": AlgorithmTaskType.CLASSIFICATION.value, + "category_map": self.algorithm.category_map, + }, + ) + + classifications = Classification.objects.filter( + detection__occurrence=occ, + terminal=True, + algorithm=self.algorithm, + scores__isnull=False, + ) + make_classifications_filtered_by_taxa_list( + classifications=classifications, + taxa_list=regional_list, + algorithm=self.algorithm, + new_algorithm=new_algorithm, + ) + + # After masking, occurrence determination should be the true species + occ.refresh_from_db() + self.assertEqual( + occ.determination, + true_species, + "After class masking, occurrence determination should update to the correct in-list species.", + ) + + # Verify the new classification's taxon + new_clf = Classification.objects.filter(detection=det, terminal=True).first() + self.assertEqual(new_clf.taxon, true_species) + self.assertGreater(new_clf.score, 0.5, "Masked score for true species should be > 0.5") + + def test_class_masking_no_change_when_all_species_in_list(self): + """When all category map species are in the taxa list, no new classifications should be created.""" + species_taxa = list(self.project.taxa.filter(rank=TaxonRank.SPECIES.name).order_by("name")[:3]) + + # Taxa list contains ALL species + full_list = TaxaList.objects.create(name="Full Species List") + full_list.taxa.set(species_taxa) + + logits = [3.0, 1.0, 0.5] + import math + + max_logit = max(logits) + exp_logits = [math.exp(x - max_logit) for x in logits] + total = sum(exp_logits) + scores = [e / total for e in exp_logits] + + det = Detection.objects.create( + source_image=self.collection.images.first(), + bbox=[0, 0, 200, 200], + ) + occ = Occurrence.objects.create(project=self.project, event=self.deployment.events.first()) + occ.detections.add(det) + + original_clf = self._create_classification_with_logits( + detection=det, + taxon=species_taxa[0], + score=max(scores), + scores=scores, + logits=logits, + ) + + new_algorithm, _ = Algorithm.objects.get_or_create( + name=f"{self.algorithm.name} (filtered full)", + key=f"{self.algorithm.key}_filtered_full", + defaults={ + "task_type": AlgorithmTaskType.CLASSIFICATION.value, + "category_map": self.algorithm.category_map, + }, + ) + + classifications = Classification.objects.filter(pk=original_clf.pk) + make_classifications_filtered_by_taxa_list( + classifications=classifications, + taxa_list=full_list, + algorithm=self.algorithm, + new_algorithm=new_algorithm, + ) + + # Original should still be terminal (no change needed) + original_clf.refresh_from_db() + self.assertTrue(original_clf.terminal, "Original should remain terminal when all species are in the list.") + + # No new classifications created + clf_count = Classification.objects.filter(detection=det).count() + self.assertEqual(clf_count, 1, "No new classification should be created when masking changes nothing.") + + def test_class_masking_softmax_correctness(self): + """Verify that masked softmax produces mathematically correct results.""" + import math + + species_taxa = list(self.project.taxa.filter(rank=TaxonRank.SPECIES.name).order_by("name")[:3]) + + # Only keep species at index 0 + single_species_list = TaxaList.objects.create(name="Single Species List") + single_species_list.taxa.set([species_taxa[0]]) + + logits = [2.0, 3.0, 4.0] + max_logit = max(logits) + exp_logits = [math.exp(x - max_logit) for x in logits] + total = sum(exp_logits) + scores = [e / total for e in exp_logits] + + det = Detection.objects.create( + source_image=self.collection.images.first(), + bbox=[0, 0, 200, 200], + ) + occ = Occurrence.objects.create(project=self.project, event=self.deployment.events.first()) + occ.detections.add(det) + + self._create_classification_with_logits( + detection=det, + taxon=species_taxa[2], # original top is index 2 + score=max(scores), + scores=scores, + logits=logits, + ) + + new_algorithm, _ = Algorithm.objects.get_or_create( + name=f"{self.algorithm.name} (single species)", + key=f"{self.algorithm.key}_single", + defaults={ + "task_type": AlgorithmTaskType.CLASSIFICATION.value, + "category_map": self.algorithm.category_map, + }, + ) + + classifications = Classification.objects.filter(detection=det, terminal=True) + make_classifications_filtered_by_taxa_list( + classifications=classifications, + taxa_list=single_species_list, + algorithm=self.algorithm, + new_algorithm=new_algorithm, + ) + + new_clf = Classification.objects.filter(detection=det, terminal=True).first() + self.assertIsNotNone(new_clf) + + # With only 1 allowed species, its score should be ~1.0 + self.assertAlmostEqual( + new_clf.scores[0], + 1.0, + places=5, + msg="With only one allowed species, its softmax score should be ~1.0", + ) + self.assertAlmostEqual(new_clf.scores[1], 0.0, places=10) + self.assertAlmostEqual(new_clf.scores[2], 0.0, places=10) + self.assertAlmostEqual(sum(new_clf.scores), 1.0, places=5) + class TestTaskStateManager(TestCase): """Test TaskStateManager for job progress tracking.""" From a1075979f28433afddecc16717b85a5acdb128be Mon Sep 17 00:00:00 2001 From: Michael Bunsen Date: Wed, 18 Feb 2026 03:59:08 -0800 Subject: [PATCH 38/44] fix: address review feedback on class masking and rank rollup - Move numpy imports to module level (class_masking.py) - Replace print() with logger.debug() - Use .count() instead of len() for QuerySet evaluation - Convert taxa_in_list to set() for O(1) lookups - Add logits__isnull=False to queryset filters - Set category_map on new classifications (was None) - Fix error message clarity and remove extra parens - Use logger.info() instead of root logging.info() - Wrap bulk_update/bulk_create in transaction.atomic() - Normalize threshold keys to uppercase in RankRollupTask - Guard clf.score formatting against None - Guard against null occurrence in rank rollup - Remove commented-out pdb lines - Fix admin.py threshold keys to uppercase - Fix test scores to exercise intended thresholds - Clean up stale TODO comments and dead code Co-Authored-By: Claude --- ami/main/admin.py | 2 +- ami/ml/post_processing/class_masking.py | 92 ++++++++++--------------- ami/ml/post_processing/rank_rollup.py | 22 +++--- ami/ml/tests.py | 4 +- 4 files changed, 52 insertions(+), 68 deletions(-) diff --git a/ami/main/admin.py b/ami/main/admin.py index 95437b29b..4d7d76c09 100644 --- a/ami/main/admin.py +++ b/ami/main/admin.py @@ -739,7 +739,7 @@ def run_small_size_filter(self, request: HttpRequest, queryset: QuerySet[SourceI def run_rank_rollup(self, request: HttpRequest, queryset: QuerySet[SourceImageCollection]) -> None: """Trigger the Rank Rollup post-processing job asynchronously.""" jobs = [] - DEFAULT_THRESHOLDS = {"species": 0.8, "genus": 0.6, "family": 0.4} + DEFAULT_THRESHOLDS = {"SPECIES": 0.8, "GENUS": 0.6, "FAMILY": 0.4} for collection in queryset: job = Job.objects.create( diff --git a/ami/ml/post_processing/class_masking.py b/ami/ml/post_processing/class_masking.py index 298688ba7..731776db3 100644 --- a/ami/ml/post_processing/class_masking.py +++ b/ami/ml/post_processing/class_masking.py @@ -1,5 +1,7 @@ import logging +import numpy as np +from django.db import transaction from django.db.models import QuerySet from django.utils import timezone @@ -24,6 +26,7 @@ def update_single_occurrence( terminal=True, algorithm=algorithm, scores__isnull=False, + logits__isnull=False, ).distinct() # Make a new Algorithm for the filtered classifications @@ -56,15 +59,12 @@ def update_occurrences_in_collection( ): task_logger.info(f"Recalculating classifications based on a taxa list. Params: {params}") - # Make new AlgorithmCategoryMap with the taxa in the list - # @TODO - classifications = Classification.objects.filter( detection__source_image__collections=collection, terminal=True, - # algorithm__task_type="classification", algorithm=algorithm, scores__isnull=False, + logits__isnull=False, ).distinct() make_classifications_filtered_by_taxa_list( @@ -81,32 +81,26 @@ def make_classifications_filtered_by_taxa_list( algorithm: Algorithm, new_algorithm: Algorithm, ): - taxa_in_list = taxa_list.taxa.all() + taxa_in_list = set(taxa_list.taxa.all()) occurrences_to_update: set[Occurrence] = set() - logger.info(f"Found {len(classifications)} terminal classifications with scores to update.") + classification_count = classifications.count() + logger.info(f"Found {classification_count} terminal classifications with scores to update.") - if not classifications: + if classification_count == 0: raise ValueError("No terminal classifications with scores found to update.") if not algorithm.category_map: raise ValueError(f"Algorithm {algorithm} does not have a category map.") category_map: AlgorithmCategoryMap = algorithm.category_map - # Consider moving this to a method on the Classification model - # @TODO find a more efficient way to get the category map with taxa. This is slow! logger.info(f"Retrieving category map with Taxa instances for algorithm {algorithm}") category_map_with_taxa = category_map.with_taxa() - # Filter the category map to only include taxa that are in the taxa list - # included_category_map_with_taxa = [ - # category for category in category_map_with_taxa if category["taxon"] in taxa_in_list - # ] excluded_category_map_with_taxa = [ category for category in category_map_with_taxa if category["taxon"] not in taxa_in_list ] - # included_category_indices = [int(category["index"]) for category in category_map_with_taxa] excluded_category_indices = [ int(category["index"]) for category in excluded_category_map_with_taxa # type: ignore ] @@ -124,9 +118,6 @@ def make_classifications_filtered_by_taxa_list( timestamp = timezone.now() for classification in classifications: scores, logits = classification.scores, classification.logits - # Set scores and logits to zero if they are not in the filtered category indices - - import numpy as np # Assert that all scores & logits are lists of numbers if not isinstance(scores, list) or not all(isinstance(score, (int, float)) for score in scores): @@ -137,26 +128,17 @@ def make_classifications_filtered_by_taxa_list( logger.debug(f"Processing classification {classification.pk} with {len(scores)} scores") logger.info(f"Previous totals: {sum(scores)} scores, {sum(logits)} logits") - # scores_np_filtered = np.array(scores) logits_np = np.array(logits) - # scores_np_filtered[excluded_category_indices] = 0.0 - - # @TODO can we use np.NAN instead of 0.0? zero will NOT calculate correctly in softmax. - # @TODO delete the excluded categories from the scores and logits instead of setting to 0.0 - # logits_np[excluded_category_indices] = 0.0 - # logits_np[excluded_category_indices] = np.nan + # Mask excluded logits with -100 (effectively zero probability after softmax) + # @TODO consider using -np.inf for mathematically exact masking logits_np[excluded_category_indices] = -100 logits: list[float] = logits_np.tolist() - from numpy import exp - from numpy import sum as np_sum - - # @TODO add test to see if this is correct, or needed! # Recalculate the softmax scores based on the filtered logits - scores_np: np.ndarray = exp(logits_np - np.max(logits_np)) # Subtract max for numerical stability - scores_np /= np_sum(scores_np) # Normalize to get probabilities + scores_np: np.ndarray = np.exp(logits_np - np.max(logits_np)) # Subtract max for numerical stability + scores_np /= np.sum(scores_np) # Normalize to get probabilities scores: list = scores_np.tolist() # Convert back to list @@ -164,11 +146,8 @@ def make_classifications_filtered_by_taxa_list( # Get the taxon with the highest score using the index of the max score top_index = scores.index(max(scores)) - top_taxon = category_map_with_taxa[top_index][ - "taxon" - ] # @TODO: This doesn't work if the taxon has never been classified - print("Top taxon: ", category_map_with_taxa[top_index]) # @TODO: REMOVE - print("Top index: ", top_index) # @TODO: REMOVE + top_taxon = category_map_with_taxa[top_index]["taxon"] + logger.debug(f"Top taxon: {category_map_with_taxa[top_index]}, index: {top_index}") # check if needs updating if classification.scores == scores and classification.logits == logits: @@ -189,12 +168,15 @@ def make_classifications_filtered_by_taxa_list( detection=classification.detection, timestamp=classification.timestamp, terminal=True, - category_map=None, # @TODO need a new category map with the filtered taxa + category_map=new_algorithm.category_map, created_at=timestamp, updated_at=timestamp, ) if new_classification.taxon is None: - raise (ValueError("Classification isn't registered yet. Aborting")) # @TODO remove or fail gracefully + raise ValueError( + f"Unable to determine top taxon after class masking for classification {classification.pk}. " + "No allowed classes found in taxa list." + ) classifications_to_update.append(classification) classifications_to_add.append(new_classification) @@ -203,27 +185,27 @@ def make_classifications_filtered_by_taxa_list( assert new_classification.detection.occurrence is not None occurrences_to_update.add(new_classification.detection.occurrence) - logging.info( + logger.info( f"Adding new classification for Taxon {top_taxon} to occurrence {new_classification.detection.occurrence}" ) - # Bulk update the existing classifications - if classifications_to_update: - logger.info(f"Bulk updating {len(classifications_to_update)} existing classifications") - Classification.objects.bulk_update(classifications_to_update, ["terminal", "updated_at"]) - logger.info(f"Updated {len(classifications_to_update)} existing classifications") - - if classifications_to_add: - # Bulk create the new classifications - logger.info(f"Bulk creating {len(classifications_to_add)} new classifications") - Classification.objects.bulk_create(classifications_to_add) - logger.info(f"Added {len(classifications_to_add)} new classifications") - - # Update the occurrence determinations - logger.info(f"Updating the determinations for {len(occurrences_to_update)} occurrences") - for occurrence in occurrences_to_update: - occurrence.save(update_determination=True) - logger.info(f"Updated determinations for {len(occurrences_to_update)} occurrences") + # Bulk update/create in a single transaction for atomicity + with transaction.atomic(): + if classifications_to_update: + logger.info(f"Bulk updating {len(classifications_to_update)} existing classifications") + Classification.objects.bulk_update(classifications_to_update, ["terminal", "updated_at"]) + logger.info(f"Updated {len(classifications_to_update)} existing classifications") + + if classifications_to_add: + logger.info(f"Bulk creating {len(classifications_to_add)} new classifications") + Classification.objects.bulk_create(classifications_to_add) + logger.info(f"Added {len(classifications_to_add)} new classifications") + + # Update the occurrence determinations + logger.info(f"Updating the determinations for {len(occurrences_to_update)} occurrences") + for occurrence in occurrences_to_update: + occurrence.save(update_determination=True) + logger.info(f"Updated determinations for {len(occurrences_to_update)} occurrences") class ClassMaskingTask(BasePostProcessingTask): diff --git a/ami/ml/post_processing/rank_rollup.py b/ami/ml/post_processing/rank_rollup.py index 9708b1c63..677c5ae1f 100644 --- a/ami/ml/post_processing/rank_rollup.py +++ b/ami/ml/post_processing/rank_rollup.py @@ -44,7 +44,8 @@ def run(self) -> None: # ---- Read config parameters ---- config = self.config or {} collection_id = config.get("source_image_collection_id") - thresholds = config.get("thresholds", self.DEFAULT_THRESHOLDS) + raw_thresholds = config.get("thresholds", self.DEFAULT_THRESHOLDS) + thresholds = {k.upper(): v for k, v in raw_thresholds.items()} rollup_order = config.get("rollup_order", self.ROLLUP_ORDER) if not collection_id: @@ -68,7 +69,8 @@ def run(self) -> None: with transaction.atomic(): for i, clf in enumerate(qs.iterator(), start=1): - self.logger.info(f"Processing classification #{clf.pk} (taxon={clf.taxon}, score={clf.score:.3f})") + score_str = f"{clf.score:.3f}" if clf.score is not None else "N/A" + self.logger.info(f"Processing classification #{clf.pk} (taxon={clf.taxon}, score={score_str})") if not clf.scores: self.logger.info(f"Skipping classification #{clf.pk}: no scores available") @@ -101,9 +103,6 @@ def run(self) -> None: self.logger.info(f"Aggregated taxon scores: {scores_str}") for rank in rollup_order: threshold = thresholds.get(rank, 1.0) - # import pdb - - # pdb.set_trace() candidates = {t: s for t, s in taxon_scores.items() if t.rank == rank} if not candidates: @@ -136,11 +135,14 @@ def run(self) -> None: ) occurrence = clf.detection.occurrence - updated_occurrences.append(occurrence) - self.logger.info( - f"Rolled up occurrence {occurrence.pk}: {clf.taxon} => {new_taxon} " - f"({new_taxon.rank}) with rolled-up score={new_score:.3f}" - ) + if occurrence: + updated_occurrences.append(occurrence) + self.logger.info( + f"Rolled up occurrence {occurrence.pk}: {clf.taxon} => {new_taxon} " + f"({new_taxon.rank}) with rolled-up score={new_score:.3f}" + ) + else: + self.logger.warning(f"Detection #{clf.detection.pk} has no occurrence; skipping.") else: self.logger.info(f"No rollup applied for classification #{clf.pk} (taxon={clf.taxon})") diff --git a/ami/ml/tests.py b/ami/ml/tests.py index aecf8859f..5563452f7 100644 --- a/ami/ml/tests.py +++ b/ami/ml/tests.py @@ -931,7 +931,7 @@ def _create_occurrences_with_classifications(self, num=3): detection=det, taxon=self.species_taxon, score=0.5, - scores=[0.5, 0.3, 0.2], + scores=[0.5, 0.2, 0.1], terminal=True, timestamp=now, algorithm=self.algorithm, @@ -975,7 +975,7 @@ def test_rank_rollup_creates_new_terminal_classifications(self): task = RankRollupTask( source_image_collection_id=self.collection.pk, - thresholds={"species": 0.8, "genus": 0.6, "family": 0.4}, + thresholds={"SPECIES": 0.8, "GENUS": 0.6, "FAMILY": 0.4}, ) task.run() From da9b0816f6ff3aa964e49f36be9dde48ecde0a95 Mon Sep 17 00:00:00 2001 From: Michael Bunsen Date: Wed, 18 Feb 2026 04:23:47 -0800 Subject: [PATCH 39/44] feat: replace hardcoded admin action with dynamic class masking form Replace the hardcoded `update_with_newfoundland_species` admin action with a generic `run_class_masking` action that shows an intermediate confirmation page. Users can now select any TaxaList and Algorithm from dropdowns before running class masking on selected occurrences. Co-Authored-By: Claude --- ami/main/admin.py | 107 +++++++++++------- .../main/class_masking_confirmation.html | 60 ++++++++++ 2 files changed, 126 insertions(+), 41 deletions(-) create mode 100644 ami/templates/admin/main/class_masking_confirmation.html diff --git a/ami/main/admin.py b/ami/main/admin.py index 4d7d76c09..e6ddce103 100644 --- a/ami/main/admin.py +++ b/ami/main/admin.py @@ -2,9 +2,11 @@ from django.contrib import admin from django.db import models +from django.db.models import Count from django.db.models.query import QuerySet from django.http.request import HttpRequest from django.template.defaultfilters import filesizeformat +from django.template.response import TemplateResponse from django.urls import reverse from django.utils.formats import number_format from django.utils.html import format_html @@ -426,59 +428,82 @@ def get_queryset(self, request: HttpRequest) -> QuerySet[Any]: def detections_count(self, obj) -> int: return obj.detections_count - @admin.action(description="Update occurrence with Newfoundland species taxa list") - def update_with_newfoundland_species(self, request: HttpRequest, queryset: QuerySet[Occurrence]) -> None: + @admin.action(description="Run class masking (select taxa list & algorithm)") + def run_class_masking(self, request: HttpRequest, queryset: QuerySet[Occurrence]) -> TemplateResponse | None: """ - Update selected occurrences using the 'Newfoundland species' taxa list - and 'Quebec & Vermont Species Classifier - Apr 2024' algorithm. + Run class masking on selected occurrences. + Shows an intermediate page to select a TaxaList and Algorithm. """ - try: - # Get the taxa list by name - taxa_list = TaxaList.objects.get(name="Newfoundland Species") - except TaxaList.DoesNotExist: - self.message_user( - request, - "Error: TaxaList 'Newfoundland species' not found.", - level="error", - ) - return - - try: - # Get the algorithm by name - algorithm = Algorithm.objects.get(name="Quebec & Vermont Species Classifier - Apr 2024") - except Algorithm.DoesNotExist: - self.message_user( - request, - "Error: Algorithm 'Quebec & Vermont Species Classifier - Apr 2024' not found.", - level="error", - ) - return + if request.POST.get("confirm"): + taxa_list_id = request.POST.get("taxa_list") + algorithm_id = request.POST.get("algorithm") + if not taxa_list_id or not algorithm_id: + self.message_user(request, "Please select both a taxa list and an algorithm.", level="error") + return None - # Process each occurrence - count = 0 - for occurrence in queryset: try: - update_single_occurrence( - occurrence=occurrence, - algorithm=algorithm, - taxa_list=taxa_list, - ) - count += 1 - except Exception as e: + taxa_list = TaxaList.objects.get(pk=taxa_list_id) + algorithm = Algorithm.objects.get(pk=algorithm_id) + except (TaxaList.DoesNotExist, Algorithm.DoesNotExist) as e: + self.message_user(request, f"Error: {e}", level="error") + return None + + if not algorithm.category_map: self.message_user( - request, - f"Error processing occurrence {occurrence.pk}: {str(e)}", - level="error", + request, f"Algorithm '{algorithm.name}' does not have a category map.", level="error" ) - - self.message_user(request, f"Successfully updated {count} occurrence(s).") + return None + + count = 0 + for occurrence in queryset: + try: + update_single_occurrence( + occurrence=occurrence, + algorithm=algorithm, + taxa_list=taxa_list, + ) + count += 1 + except Exception as e: + self.message_user( + request, + f"Error processing occurrence {occurrence.pk}: {e}", + level="error", + ) + + self.message_user(request, f"Successfully ran class masking on {count} occurrence(s).") + return None + + # Show intermediate confirmation page + taxa_lists = TaxaList.objects.annotate(taxa_count=Count("taxa")).filter(taxa_count__gt=0).order_by("name") + algorithms = Algorithm.objects.filter(category_map__isnull=False).order_by("name") + + # Annotate algorithms with label count + alg_list = [] + for alg in algorithms: + alg.labels_count = len(alg.category_map.labels) if alg.category_map else 0 + alg_list.append(alg) + + return TemplateResponse( + request, + "admin/main/class_masking_confirmation.html", + { + **self.admin_site.each_context(request), + "title": "Run class masking", + "queryset": queryset, + "occurrence_count": queryset.count(), + "taxa_lists": taxa_lists, + "algorithms": alg_list, + "opts": self.model._meta, + "action_checkbox_name": admin.helpers.ACTION_CHECKBOX_NAME, + }, + ) ordering = ("-created_at",) # Add classifications as inline inlines = [DetectionInline] - actions = [update_with_newfoundland_species] + actions = [run_class_masking] @admin.register(Classification) diff --git a/ami/templates/admin/main/class_masking_confirmation.html b/ami/templates/admin/main/class_masking_confirmation.html new file mode 100644 index 000000000..8c37ec361 --- /dev/null +++ b/ami/templates/admin/main/class_masking_confirmation.html @@ -0,0 +1,60 @@ +{% extends "admin/base_site.html" %} + +{% load i18n admin_urls %} + +{% block title %} + {% translate "Run class masking" %} | {{ site_title|default:_("Django site admin") }} +{% endblock title %} +{% block breadcrumbs %} + +{% endblock breadcrumbs %} +{% block content %} +
+ {% csrf_token %} +

+ You are about to run class masking on {{ occurrence_count }} selected occurrence{{ occurrence_count|pluralize }}. +

+

+ This will: +

    +
  • Mark existing terminal classifications as non-terminal
  • +
  • + Create new classifications with logits masked for species not in the selected taxa list +
  • +
  • Update occurrence determinations based on the new top predictions
  • +
+

+
+ Select parameters +
+ + +

Species checklist to use as a mask. Only species in this list will remain active.

+
+
+ + +

The classifier algorithm whose predictions to mask. Must have a category map with logits.

+
+
+ {% for obj in queryset %}{% endfor %} + + + +
+{% endblock content %} From fc3f9e183cbd8445793fb63abfa02b03d92fa518 Mon Sep 17 00:00:00 2001 From: Michael Bunsen Date: Wed, 18 Feb 2026 04:29:04 -0800 Subject: [PATCH 40/44] docs: add class masking screenshots for PR review Co-Authored-By: Claude --- docs/screenshots/admin-class-masking-form.png | Bin 0 -> 60949 bytes .../admin-classifications-after-masking.png | Bin 0 -> 557779 bytes .../ui-occurrence-43498-identification.png | Bin 0 -> 67423 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/screenshots/admin-class-masking-form.png create mode 100644 docs/screenshots/admin-classifications-after-masking.png create mode 100644 docs/screenshots/ui-occurrence-43498-identification.png diff --git a/docs/screenshots/admin-class-masking-form.png b/docs/screenshots/admin-class-masking-form.png new file mode 100644 index 0000000000000000000000000000000000000000..ac67a5949d320572315c46273dddf824f99eeb61 GIT binary patch literal 60949 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 AkpKVy literal 0 HcmV?d00001 diff --git a/docs/screenshots/admin-classifications-after-masking.png b/docs/screenshots/admin-classifications-after-masking.png new file mode 100644 index 0000000000000000000000000000000000000000..fec9744d4668ec1bd2136e2690176d5ecbb96939 GIT binary patch literal 557779 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�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

Vr&a~yr^xkX3kOm8rJ)f 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­>Bn1`l=0&zBGwc0p#UZ}s`yvk5y<@!9?&7$?) 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

mvN!H!-j_is6^V&{ z=!tkSeDAO?LoN52=rr-fA+rf`%0Dg1bCBg}Q{01e#>ECGDLFmSw%4fLIQyPZ$Dr0w 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%0Dg(v=13wueGLuN}% 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̿Ftvl<}e zs)E-*nlv6$2B1JWMwyt9I6v>(-&Bd*dc(Be_L#_`BjlQaB(Aml1MDI4gfOtic4#NZ z>ny%SPbDFl__0fmGK?8DaO;|iyU*%jSm`1q84=DaEOreh?_~qH{AOY^2+4Uc!GX!9 zR43y}UELC=#BL716PsagMqhr<;Lx{Zsjilj#GEyIs%laC2MdgvC@=03!K?wvz@*lGC8kW|E%RGK-Pdk*>2zmzM&c7?sq^SwQ?^}ev zS@(6d5Sgyo=}9^5*WT>9`EP>&4agq=UD^j^mwK*xRN$RHw`nJyb}#R0X zmQm;yI~5`b-rk0)%v08bVgTnq1e2-6Tx@{8JCHVs;;zM zQJ(LTNr&T&|CVZr>+O4qNPc9kqAe>AooJ6I@yJea*rHxHqevlY`+L{>`KBvYhrCwZ z3^8}=+uF|Jn1L)ik`0eY%Z1<>bX%qNCCPWbMyUZy?lib6H8Ub+%sN5a#3;)Y{!Jf%nAajp7rY3)fE0LakU+ zD~H-i&k0D4_0CH15Swi?meBvO9_eRfIlr`u(3+@ zKAwNydtLJ^QxLMo_S(?EOXdWn z!9nP%rb|F2J(MuQd_c*qCDiiKr5!YzfItYn(PE~?>I8GJ)z7sF7Y+BnWI9Li(R?N zR;{_w5i>3OYXvS61GObb+YpZgLJ2Hely(ge9(=+e`litJpAbPvTBcCZc}Sv+u`Gcp z^5*G#*3^Uo_@^=>Jaj+U+2YDj+s8{9yr-I~6V{*GsB4&q9ytBE$fj<2YN+lVV{5~4 zrBk)MRk5FVnfCV(75wrhuAe?0E>3LTz7f}Se(o`whpoBf>&=1KyH9774!_i|J*1R9 zLi8_j*ch|yZfW(gI$8uS$N#itqe`3-rgj`nyTp19w`oFIE79ESvtj#ZvAcFxxFbBo z@A4GwEhYMD4we+@^<|vLH(Xl$>D5!uK@HegTk8o-CNu?!_vs0+VtJUJ>gH0W9wT5k z+)pEDd7qFWCn0h1FKmx_$aAs+^{${;#}t+$vyd*RuDA2;n-+pBM?cY6wvK7Q8nr%I z$@ErDar=E2b)<$aen=FAW{rHf0K5>d&3IF?1Xb>3r+KjMSwO*$H=bk>HzzsPzZgjJ9^vE_E0E0Rh$=ja5It zS!RsqQnMUP{nHxlT>Jo99)eN8M&vwI*!S$Tv|(`o|cM=2y^!ASsyGx zSNEEfM&4RL{VrkKdsA@uk`e@*h@&$ErKOSL(Fp{#Rk0vUB@jf_cU&lBcAcUJkl)_V zh&AzCZZMq1m&M*xv(n5Ru7?k(Pcy{jirwld;WxY};X#_+qFE$I&y~`!CHfn;2WW(j zIkG;-gXz|js7N#bp|$mWGX1;k5eWh$Gy1?}@j2{LOVo3CID5yj@pXqcu4EGtdPPs!DZnO8*I7=ocQ zyH1o%JYn~<`Ejs76cjW6J-|>{uM>}-NKf$*1tL91i>m-lyc5u0bfBW!_cV#xl~!@iZ8Y@%{3&TvnJv${9Dz{(ihbUq$ZCAWH9m#S0_`8yCYWR#pL=#mR` zrwZwU@sl2x)l15MvMP}zrGmKRYJm=ec7Xzbp)F^MKxz`R+tGb5(hR*J_t%b6B1hf$ z+Wl@eM*EjTQKY16Vp7jR)D7nNoVUd2OF%htz+@Yn{22Pg?dRQ<6t_r+2e2@lw|p*I zYstswC64plqE6YldUO1EH=V|7cl(V&@#K#!@ zq73`VIR$f1N%PZ{TN9N>sw8q4nPET{CcheAKh>R8>lA0p{t#6eW|y`*g8;ALGfSuP zW*jQq}?G++3CuW zh=u*mT_DXmU5q+I>tMQF6*Z^_S4MiWwq#+NaSUFQ;!zFsDE#(i?rbIYR3D^=zvX>& zQA!NlS&2Odk@GTdz$A(DoksQ-lOavI7MAT2N+EgGyA@(u8Kd`1m>qseD|^F6@_N*B zNny1X)9oVFT*18RK5I$g6Ft8{p#$)ers7h5k3Fjyjls``ygloUTOXwPHAEGNR~^e# z^inWSW7b;q^l1^^w!v?*w`f)3eVj!}8Qco^+352J+EK29h%^$WO2bJ~(tVtuE4k*L z1;^u(F&(oo_9V2c9ts==&@G6PaH2ZgFi2fArkz~zzdMa6QoTP&I)cY zi&PMf4Qy;;GTY05B0S>q!wSr%S58(aPt8G1D7p-mmxsI(5VJQoF|iAh9VmT6<$rU` zk3>m;9?TNH^JgyXseV=lA>eU#7H;fSs4n@lBF8viw16@s@Y8HY`_sF9H-2hAeemGH zEg^jtS-R8TplPeAsZmo?`zEx0EV0N}k5MF|R2jNBpuA9$lM7XHUS?by*dnAdMFbKq z;m>lZT;zX0I$umz$H2V^FrI{pO}Ip?-W<&2`g(w-?o3ELAjm%jcqxp|6r3?-Os67j zap0?l?-ZPpI&};{-VUAy5UAnp?tTCSYBHO6Mfe@zpIsEzO?5mznk|}TZ}6w@M-vgm zp#yLu1ArWuSu7R_AVh5%SHPY&g9OULXR6pPZD4`aK|nIR_wjLYNg8o~`)nub5d|$n ztHuD1icH>M`u*6=$;lWX71%^AC9?4FbhwSM2nwTiwzun>nt-3H&bVRJ6W9xZ9$!+z z58}Tu2I`15or35Of*~>r4-f*l2$E5}2qD-T$7ZTgfk8(QNK*2?E89%e)^5+7UySEOfN3-V@WX5|LL8v0#5JtSlJ=^v1b`&jD* zVY@F!0=pBqC-WiR118RfmFuwm0_sm1`-uTyN<)Mr@Pz?0H;a0F3e;|P3)Txj($-H$ zgxd-MToKQ!`D{q>YiF&iZfh~Tv_YGbm*HdpV^u!S(i@;*@b=zEmTWB z91Iia;VxZT%a-=26I3z4}B&GlD z7@zJ-1qm3#XQsIb5#o=@@>B^3>wn&ERU)N}5^b;J5oqw(cW_vgugB_7^QR61M#!q z@?Bxy_M}B$Acp1%a2O$%415X=mzqae2vwTz8WP}m6&;-fD3q`}L|-RtW~@X63A?&t z!dyue`=7TSAxMzHZ5R0s2_n5oYW`xA{afh&^MlGyYFx~J{;G5=8L-#-tOl!~Jsyj= zdzahP2?siHEc);7A2=@*g`|SpoK*GH|M`FZdM^L|{8^+6^{<=1yAB?#4(efD)lyzA zgx2l*a;`ur^!#sE4^yeXA7~_6hY(qgS2dzgzsUOkW(LBq`1l@?_P@yz>88{LAVq{D z2v47|Tx27B>BGZf3JM`GdzoVX`B+2v*vCs`c)tJp*Z%bt{IAbcAvv$cCoB6EI9O~c z2ZE$%9hgm#Fqh4~d`X9h{g08J3ZI*odsmm}zmNaFe>iU#(JSyzCK#cFG?EdF7CTm- zXAKSvP$Wf05|W&X6C6t;)c#QkAjjO*Nk3u#`(yt7`Tu?%U*vmDJlrPmXf>{Yq>~D= zter1jWMN|qUh1RP_|GqusLOX|3bGHLZ@4$q{rg$}{-B#k^z;AZARvQCz$F+<$h3-q z23P}vvNatY9shpXI;Lc^x0MOc=QrO`_N@Qs@jc3Wdt(}UkGD!|BM_5UB&qV;h6D#@ z*M|JcvOg;rXrKb$`>~43=xrLDajN0VZQTu+^*79xobrlLlPYm|9bkd{f)-& z#SeZNwr@OL)`GpM-jmPX?jH1{Z4pJLVIjUur&N`H9d(AX$g714EXyymOmTP4jtMfCj3+kF z>DwzRuEfR09$pLm7V^7m?KP!FY+iZu6V6VZbxe&?u-1Jw6sIeSj)v~nhi?dk#{01$ z=S`1l5|g{y|DG1YH%>$x82O*W^FN1>?+i-r+OFVJTTuJNz}`nohoATy)mR)<^35WLh2rMTu0o|)_y`sd4zuImfBux#Uttd9x)E0KILbfY9^wi_6&9o zr`LYuYF2ZyI=n7RF#G=Y zjh0q3i?1w+6j}p9w%=p_J;sbW9b~ire|fbB(PYp|eP14A@aI!dI07!MF*Z>xB8TuE zt27EhU4H&;tUM)k&fLdc_KM%&%e5QaAqr#r>S>DK-_|HOJhnM~xL%9MR+$FNhxASL zi$jl6UPxZw3QzFY*^6ykwYhwJt>)ChJ(lF}-{iL|M#ot{Pv6zDsXppoJ*D=gV@)cl z*_yGTyXUEK<=fJ=CWmW}-zT0{{Pxbf=?Hlp`$CrX_3A5c^dTuzq0yH_j0x}6VAOs$ zMFyLFUafhK0l7Zrw1n)}f$4tZ81qkxQlTqK)V!lH5C&L>-0maLx4pvDIjD@Gj&&Y-^StvhRN<=y|>P z1mU(LTzF_m^!?Az|5ZH+1yqjUU=B<_$jQ(G>dC@hVB2du=W^&@P#U zloUHcLr2t#SufAO`7!fFfUo>ReYlxTSv2GN&*k;UVelt!o+$49;MadAXwzo(y&~auANHiU45F0JcV$MQ_$R<@qBaruvl$>&W081<#gey$8CPIVpF=`Hde)h z?&Pkk?tjd_P-uI#uGcT73XluPGNllGGPRlPUTSj(b<f61-d1~ry*6a7x%42soo_lUwLFxd@ zgo=V_bC9^o*y<=NN|b>MF*VPQJ*iv;H=;K)SfNI1~PP5h+RWBlzt1 zs%GyCXR$gNfj3mF1mv$@XL)ng*Xl|0y~pk5ZN&AouqBcArbY9^nLrM&tue%4Vj<{@ z^?Lq`GqFACe^ntqRjPW%f9vdj|M0(i7A?5&WS2Fnl~ucD_Ljf#1d4O-ZgEV0Jy0e! ze97KWZZ`GvXQ`4?dYi9erP-phv-bV3^wbEAB)7mhU;8*twg*)wJ)}y~FFp9C7_`7Z zo+;)Tm!w$2_09WX!Q1KD>B={~MlaaNRu^viNk^FT9%m{H!w&miT#Q*zKVM)Yy#=Ji zvp-KG7#QMjJ}h*2g$O9B$cT15`-S@r{qC9F2SQ5kI_bH6FU_1c+3aeON>F=Pb5FoD zySMRfTtZ*a%xGBXzQ(%g!QR{@-82)Kk@RcZXVO$3^2&QZo5c;pg*4syaqXItT)ms$ z;4qwfz5a6(S|RUA#+{UTV|=N%52Z>jA9rI#Kq?Y3AaAuOw-A$Op1R@{@bk@}0{*1ey47e>bTpI-lw@FV2M_GXWX z20#3H{F*irjUQfFR6f+{TrJpEX85*0#Z(t`OyifSd#135x_ZP!T$~E8w{xz%*{Nb_ zs6;x#WV7e~``!5W=l}JR{Ld(U{w(57)&89q0b8H^TSpf!MUP%n$(NT;9N*+*+hpgU zwvTDHw@l)u7;3C!-1!x^y}iBshn9Bt7e6gh@7?!f$9Tj4Y;%Zac9s5l`8g-yqLir? zc6a-;h1E6m)4Db77$g(TNT=+c2Fh*K!M_5WPa|1~81pFUYIU65MiKs)Qg;H)U)LG@zIIlB9Gv84+b zeW}u+QL#R%)$J7r=i=hbH>JIXUd_k!Ot5euRj77;aW(yajlBmr*8TfFo>AFbc6K3c zE0MjE5lK;Iq-3PBSGE#GnzpEnNC_E{h(a{1tdyNyw*Pt8(|n%K@B2TFj*gph-`?-{ z>vg@Z>%7kMyjX||1sYeayiavCMOkBZb|gH7QV;|>wM_w8>t5`;qZ#2W&byMUm25l7 zC4&&f#*a0@(UHFK4ZK&wFDn@s?`}HSm-$9HrPJjAU-V1>{5n`J>%f>}lz*>#(bTbf zw~oHThD%gLUM8}*&RT@?LA(-sZq99Z=2=)>R#hfhTq-@RoUI8Js&u9Aki$9+) zR(aVd56$3TZSzi1 z?4(WKAmjGcMej>ynraz^SFO86W*BB1v^!>A`=X7p)pNsBWd?3x%h}nYS5mY$>#!8w zwpLA4FO}s@@{thRV`-dl=ye*`iK2|%DRlvXq^n(hm}9OVv}O$Jd`I@Fq3KAzicqY} z4*rsjk8W>m%MQOtVOejftvFA)=wOD`6IIS+aqFp5X9?9!!)+2N&6HP5Si1E|h5?Z0O8;vBndJf?6yk4z&g&(2=U ze{K)exxLIs8&!IDHRlV93F-Db(cGoEaV^zV#jE8rsXq;u_ut=lW2+EHw&t-|^ z9w&0#+LpP?WernER-E^FbG><$#~sBpGsiBF<^ES)8)-szFaD3)@-0Qth$j?fiRY;=)Q$H%lwq+%|Vt2!6P6&B$kuDeGWu zo00X|={uc_^Ka%K5N)-LDZP^3{W50nsKX6L_x-lji;LF-4pk>=*DunxWy!Y8H|!lE z7F6!R+4my@`MCk{LcW&V(e>Z=LSU>71NAB#)aq7=^E-M!@4eTc+gyJ0aK_PhQ1`Jo zyds%9Z?DzvV^1cZMK`Ze`}BhLjL%o;k5ZZfOO8Hgtc#NyC|mPu^s;U>a1VF7G#$O# zKz&a8_}w@4hB*;_dQTmsArL-%U~&}Il=6x4pnY!qB~^6&eIJ--J=R>_F<~KP+tYNZ z2-_b|H0Q{B<+n{Ab}kl|QphePA{{BbF$-kSc$c9m;hw^$p^7z;l@R`MEx6i5WE9&&-G99 zr=aYxb93xzxz}t(4b`IO)l2Vr4n`22A06#n`1s~hLcF(Jsh3lc*TBQt8tst{rk!Gk zn+062bUdURT$meLy)J`7)vLE`omJ&sSW}zhUJ2yo28UET7Ls661?EuI!i@P6|b`H?cG(Eg(hqW%R_2 zoni%j1(lZsI7I$_;!tvm?)e2N{`zO+=@vT_QRoY9xwc-&4|&e!47-iJX|ZXF@7K~g zeCB95Vc%p?Zq`?}uE%4A&=VJv=@t6DJ&jdF1Cip|VWe~3vAMfC ziribBdf#q(6Wi97al*v)UDuJm%e%iUF6eEGWV%iA^-D%9L!h(8GoIH}EjyDk)%6(H za&|Ib-Z>}9AaUV>6hB4OXc?WczAHQ*S>@NftL~Y6uB~}N&$#mrm8Qap69<#bhR6Hg zUY)fxof9uBGryN|*bu+R)vQe!XfaW4q*UZlZ^q~Rs|RTj_~2PQr|?{tn)v9&u<{;!al_G zv4c+cxBmIR{0@`O`26{;e-6MONeId@z|NliKYfh8|9%U*h>w4p-}!g4_8Ww|4WG$# zRw3rM%_V=G%u)2$()t#3zkk`P_U+3* zer^T104w2CbY`R6JbuB{mQ^?U#J4uAb%q`V6u^^xAT`#Y^g-J7)8@{dpYvD$t- z2|^<1ATS0_Dz}U)VcJ}2&PyqY2S;AA8yUR=8c~_!SNc4?MlR&to@|uEWPCwh1zu)AadD}&4KcA)9 z)!r{b$PJCScJ(TRw{~Df@ZI5LXJ?OCE6c93Cr;+}4Gz;Vkd4CR4`9Og&GYJ#5)wgd zDWEo~-!>`O<`Q!LJav*H!PJFGqoEu838pZLH7fTCF-A-bxAeiun3tetsy3_=iRnP!Nx|0qxsD`}>&_gb!1~pa3J8OF_GFb)7+H>{S~aK>4rjIC(@%s}_@12+0x!VP6uF zB@0BZAPvj!-!XGzbxK>^L2_NLyXuOh&EN6--=65V2lVUdEF2-mARQWVa@c{E*ycki zS6EnxnT&LLfm?t9qb>O`Ki^2*i2LQ`jcu4Y{kl!PfQX0)EIs8Z{6=J$GDojS(5UF9 zCRBX-^a=AY6$rD&sO5?^x38lhcC1I&?+ET28jml~GzNu$ikcb?nk#qmi zIXSR+I$MHIgd;mTg|{&!tN}DVPq-_YOklpO{H8!sCPag?#B{1Y+=N1;;v?;Ihj)q{ zcK~mm{t)ZZdiwTgju8RbD{(v%<9%tG>U^)n;Pn1C387BF!jj`j_7vxfL^9s#Ir;gAA@G8r7Sk}ZB2(AhNlTN2 zYx9h6<>7$4InlZ3b0>sTQ{(c_uI1!h0Qf27jP9c zQ8rfA{+=H6XrnXDGJhIJDh>mM}|8vbk7ZepN! zcXOlWlFq{&zjioLNJV1@AtHR_97++_A5u(3GvdOog7*ary)%1+6p!DPJYM?bf&BY5 zNAG`<5Yw;*ymu@#Ot5XrUdH2YkO#Yk;n|>PXS)20``a<{ zYghjsH+@N$bP~{S3Bl|qibT5W>e+oz94i}8Kx-}IK4pvcG-g_^RJ(1JtPf8cY{l8E zL&bL<^DCsvGE@ewnlVoFS(u?uoXf>>M!z?Zk)@;$`?>60T$cV*suXZHBL$W=!AV8IhHBqCuw=^`jQQ_Dx~6_n}$PT;zsel=%YuHM za(P$e3BDbLeYu-AVc=5P$Jx2*V=1*C(F(^dyn(HW>BQKUAC2v%K;k28)uyJCAex|$ zZzuZE*g}bfb3~nrmiFu9q*83cF+S+B{jZ`amt#>07tOeZ`O#9iZ|-pHT4C~P&z?Qt zzYBveX2lZ?LPJqu;X_;cai<}8LDa{|wpCWDG*@`oTU!gh=ru>%+WqTin2`)ZmWK8# zp$Q3BxB-|QVUkEY)f_^E-VQQ+p8HtW6UWHpPne;zh#`jvs=h=ium!QTg+{fy6;36| z$;p|S8ylIGCsmm#`0POO9D^$i*&E8aP?}MQ5RRasg^|pIcwn!#Qdv#)zhWh8j9EG6 z)X?|xdhk*Os|pUAy|B8r)=DX3z2PK^sbmVYD%eu5A;nAKXYqg75WKX=zqFf0Ps1$1 zd;_d%NXH1RxENc@v2;Rc`F%m#Xle@fb(jjjp-xX)x zoNXodPd*rBq0Kv(XKch}dPs^#;or%K`W@2d&A(25^;S}xo79Js>H7PRmwGQMGx2(U z8M~rLe{qA+CRTZjVSAlpsrD!!@t6>d4{)xLQB&XCY8ez88|&xi7qqflk>>K^vj7aY z)E5&S`t)g?D2@mrrU104ukZ45$60$HRz7Rid>Lq3Pjw%U9WJ+d_wUcMC-(lp0?zvR zmsRe>;Q+o72odYB;IEp`;9lMcUBNP{l0}CLMxO>^mcqw5r%gR6sqWsK#0dxdvj+#vWkUvyq7^b5gkVEZgK1?!vx;` z!9ikmg0q*dT5yreK$00%9V?gAhy7(#He^92De6%Kst~E}mdk454l7q%U^AM9e+a3Y znVT!;zEIJ6*JyK2j?$q_lkB}|5i`|Qh%*>t`_VY3QC#k;*nk~2*1jwg@{4X0y+j?5 zRI_n#d{8dGx);x;Upj~+_(>0YfP$`W!-vDm$`lNSntsG98}<>#{yv+Vopp0}M;K!~ za}Ku-Nq}*II`o-N;)H!Cb#$e)(=FkH+XUU{6Atei8MipnLnrj=)`j$$@fYt4(q+2qA~bwa z|3bPV=<`MwgYr+f#3JiAiF@5hk#X zGGOi=o7lR-?FqP2P(+(*5|nVEjO$a<-377t%2zBICGud(A*PGTJiZSG7V;4%1SXi; zed(#Bv^q7?%ADw5cGVOIDd8M>M`N`09Oep>9F}U&Q`g&a+Q|vLw|Wpd^iIM6mP5>z zAk{}WZiYcAX_!CMm6DKIVqp(M4uCgF027ZD87jBj+L%&|QE5!k7_-km-r@{)B@!k1 zHHDeF8pk)Rb3scBEbvwUn~7KO^4gHNbkA;t0@vz zr-<`hJ0C*v2El{v>vY1DQ}Cp4@|zU89DUAEi7TS0k}(<9x-9A^Xa}Cy7%s4DTkH!1 z5%!1vO1^eVii(_ETuv?tmemm8fdc&%>BH;z`kqS+pg2lB5}8jhPYUXb3o@-_v#_`K z0*w?oMHoF1J55bpwa=?l+}p+wa@7}j>yBDg z&xh50_vfoTj8chJj~s2Zig15cTI9V?Gk9X@)5?Iz+``^%Qu+&>_+UpUZ zul|9W8twc+ox?_1Lm{G-HP=)297CdVMx|)3>Fw*avWM4CY^OyVA}}~O`9Ouit=U1b zV7}PL53Yx$cN*2l_VIt7;H&uyBSv~6O7!qgXkwh#5e9|bb)4dM(Q$EWW%~KT#*jy( zyMZa&5QtKNUf7Awbx12(h{&NI8L!1bPVarL4^s7!N6NYMM=}{^mz7e&HewWIfD%1s z0Isl+8Fc$Hd{y1g!+X4^vY~tJp6e1DnF`=SHPTt?19lvUqEpk;UW;?$SB|$mq?RC9 z+-9?c31F+k`{)&N|AmExNV3wi_wP@lU7P^sC657}!7gNla9b-XC_pwuU4x9%{E~>_ zovyAfUZo%?vO6$^1<&)NoaplyKLp>XizNeM~;eIR`eFee=CU6i)pYqwngIlasTF z+0sb|O%lm(DfA;*?e6M|&{y8Jk@^d}YwWnNM8foDaEIIo6Z2F;>g+KeJHc z-LwnQtbzdgBw|L2TJ#+ve>VHuu6Han7FdtwV56r`+Qu$G&Y$>LrKUSQ3<6 zrlyYHRrQMLZpkiYQcwGp7JtkA1muW^xBgj~_=*ra%Ja=4h=XEkNJXI2l6~NZHvs|+ z|3VWi6@npFG(4*Rwx)){@@U87SsZ9~uR~_;))7=M{lS-4(NtwBZosw%U6&$stcPC( zBR5;t4p8ttt}PeNiVQrhVyG{j-naivBq#ya|{dQ@=E9o~JNm^pz9KGDzQ_E#X^klSN zO~7)FoXh;P<`>l?w-e<*kF*8+!<77iDhUUzSgrXd#1_d%*4)}^apR%`vpcxfC@E9w zS$PC$EbQ!13@b|&fDI|MFz1x6e2EYFj$@t@#y_?DB68j#)z7cxOV^XJ{mzSq36pKw+A=?QGEG%S_j;P1U zxS5$*Sq11SM0@q3Wa^nGs(F;cU8jC&-FZdX96N(V(e}pWrFjRCqH$z>9vuZQdOui7 zTR3-lO3~c#-d17;WB{aRubgAp3#-{xXI%#_}1hbA)4tS&qZ+>;nWGl>Xqi zZ;JB@&wBJ|M>ITY2Gln(%5A&ItF$UG7u9Rd`|C-%B*_|=d`~nEuklE&Bt?6BP4fJg zb%S>``Rp!A43;nsbB{BVMhPkUjBZv`xFS&$c7dOli{UQ2h4s0bK-ba>tr3wDHcuJ# z1n$so&RpQm}oXWrRudUqmvb~&3^bIuIU4tU9xs!-_~>0~DiSBV1h7ZrWa-7)38 ztlv-d2gE8bNVM+nwxhhW0FUQoaDQ2D2FI^mdWGN)gp;edyj}@2S-&ZkE{$}E%6T-p}eOP zBf_kR5eFc73-w$g!ESy{YZ*YH&2y(g)6sDZUMrw#hrN041V^2mFGT=LxKg0zkTcYNhkjhQC z!y~mAX^jbox|{6w94}y-LcaY-WHDUM?)7dBD&oRWJ>ek%B5~4lO)1O;-iP88>CIhj z({*15tLF$vCp%MNanFOMD$jH^*h=CW~p;p5IZuD4o`qPuodEsAWV#R;w)^DQ!> z!>`QOEAzV9i7Ar3dLvn_m$ine`h(?8Is#?#=O2cPD~A5vuANaL?K%`A6WVik0!R+C z@Yrd7>IHnPRr8u=8(;?>=>>YSjI1mQ)HL%bsq1d8t_d5-*s*~(a=w9^JY8o+ z>^tMz`l&dT%Ywa7B@)JY!gq*Hm!i(2;Hn8N)w#L78g5CsSpb^cCalb;C@B1oxnUv? zP|!QZ_t%MZ<~zja7OVT^=tfuQQr{4FI%ZI?QCN_Nhd@ThObQq0Fvr+voc*Xr^s{uk zy4Qrs7<|rjd;%0?6)B&J%Gme^HG`zP9B0zaDcOWLlLnInsJ)OrCZpV zSe(ZjQ^=j)z?quM0Pj(k+gbu1w}+aZci1vPr`)-bPC zgY(I5S-y{5$1RwHw`{wOr9tsPIG&bb)wy+hiJeOKT^jIh8Ijvl)+}SERH2hyKT$X1 zHBP5T!nik4JyGM@^5|N!sq>G#w2Ykv36;lwJC(U{O2(HGVhiUMrpgcJ`k3=RS?bU$ z;(M|E2>p&TXR=w^M4I~Q;?dG#n0#wzaYe*mDRQ~KO6_LUFUBH|pPZ)e`Tszj<;&^D zzI+Kf$ilbl#fo4d7hY(LGvZ5qmJcb@^GQC;guz(ix0=uX)Z%C<@(=#I*wB1C4)$)Q z;StP9MXu!-kKxP&w=jZZ-!p4F_HMEeogv)O&5)qmIl8zYO&`EPsjyjQ;yQ(h&vD|* zgDRKWpB{5TsoZm6c=BUyTEnHhqsfo8CZ=G(5-y~=k?Dr1F8t}}@5DkW?sU4_K+oa! zjk|6e^ji`V67YzzU>vX_K7am5c)DCfhm&8!v^>>rcB0n-9R&jh$ys zASHv4C%oiieLQ!XWHc%L)D!Uk4WR>KGxx6r>d7yuvao(^YN7tH#d_D|j4gGfE+0%T zuGHW;K{`d1?42bn&~W(B*-@4=^x|72Ud@g^lwu5DUS4C6pp(Y|NKh%`-16M?=Kgo} z=IOJ#PdB%PEDsG1sVzVZ_gs}_x>BICp1ac|bZ*%2iMzd7+}C$$?1xOHuDEU8^8*WD zXBgww{h=>Hq9ou&JpAu!5qXoZCNT^xf)BC~kBU>Fpo8UUbI*#+w?p_m$GV7)U(B*? z*p4Zh92^|1z{N!tRu-tM?YohRC?zxmp7EDqV3{T}E;%6^F#IoX_cv;jp@< zq0Zc&qnM)M^Y+5ir;Jhqm7{7xJ{JhJ!}#%c_4TyktZZz;QeNFDI1J@-8I%~ZUlFgQ z2q~>*;a(qkW^IIh;9;>XTec8Ju^-=bxP+=&m&d|#b*}qVzhAn0f%~)w6{ZpH&$ZGJ zx~7F2p7r+KyRWFF)LGWAVv6Yj7ipMtoO%>^+74-HyNMR^KzCmiG5S72Pzu|i<;D@F z=wrcL>@vVG?6gbl*jp+JK|w|W$J%ph`9(8{SF(iIm6V+5uVr8F7riUOI0&P_RvaZ+ zVS0MdOqVMvDJMCz5;6zT2Qh<2@gyZ48liSfSWZWe`ER*@`v7gI;_~=-rY>DcfoJ(n z=jeS0pvPb@P9sP+tc zcd+>R?r2Xy!%me3*RG>JizkRx37r$1geZ=9H`GmF)@yWN5sLe_x&h5CEoi?z>6FXa zwai(sO35se2ZR9WquC4~;QsA2Uhus^z9{GM<+$=FK5p`pwve;mN7RKF>&pM|gw@My zrvQJU`-6h7<(~OjD;#CDkQ4A60P2eOf*gz@hCl2cbkl(8KcfIiQiNp{kHmxBH>Do{ zUjsH0yt)cnGBrDt`sJ$D>24cfsi9zq@+Fo=R^%y>2;HnDBdc(dofSqDpc)KRz(E1* z;Vn9Y=QfxYhRBsv3J16c(Qq9|R;6ZDUVkm#gZ=a=WX!OeQt&C$6r-?!j_m9b>VW`q zL0A_6c4oF4YReym+L7QrHOcu3UaClH%m9B$+0dn?kfN&_$q?b($o?V!>t>Z;46$Mk zW7;MC*tB2pz;sUan(;+JW&1mC>kSiWm@pXYARUG98*j6G)BLs!>2;l3>ApRF_6OB# zwifv>O;7I)xTgNG$&9=MJ5k0PC?SA^UxYz&BkoL4}WcrGrltIKS|hP!yi zPd1M9_7XCG9OF+uEKS|M^?6l{Sl7s!!<79k_tzgFj2{A6kFLf1$66Llu!vFViDz9_ zMXJ~O*zF|MGWhpsA0hPnUw@4B5*-rA#^AC*NlR~R;24C zqgYvWmXO>+G>C2>Va`klaC|)-NDj9hS*TzA%3PS`1~YpcmWDXmUBK}U0SCcZ=Tu^@ z%&HEAOjcHwP*6EY#}$^A%Fz%&J0N7x;pPJJ#Sj~dF6aSScX_&EiASxiU$V($yV{HgnSY&+qLi6yfuK0PsR}^@Na_TE**NaqTd10 zpRd1B7yRT@<#lv6qbq^x$WbJGPwz{Pahu4-)f~!6rvs3iKskp&SVlOC0P{H5+n+Zt zKjz(AO~2B{lk?fmV{b)Wd(ai5jswiB!07m#mTg-vKpID}r-_Q%VNcUuVVh=}76Bg( zhcuBz78VI*SJB8hi->S)ps})6t5Pi&|3bUG2&Wkgcg1oG8!u1XWme`3vE&99)}{HY z+ifB^BoQ$zQPeV*7Wg&|qpbtT>}13O{p#D*u$aO*y1GinS*1upK|wzM=w2!sc4|U% zqz0=2+2uJqr*^cYj@kkcYA=8wB5}LE^mX_AmA3uEx%E7FGw)gK%t+{({V1$<%XAiam5>sj$vMb4V zU@Mb!7lSrISWt|<$UvZ>XiC*+96LAaU`of8yD5DpT-mRr^9=3LrO7rH*8ahP)Y_QM z+P6aL=XnN~KeRm=H%&~B{Z@eF9fPRK$&ON}vqP3PtlgE!w0OqNi-wZ2Npi~zIBLe( zQBO@x2QC6PN*Uc6!W7V7fA=JPr-DC?Q_-pJwAl58)}Z`0-m(*aSD4=bqkjkzJc(pw z!UTQ=ItZG~<+n``JFS=VtayyNXo8&(FF%HEB{b($g;&O&K9_31p0PiN*zoy$cH?eM zPk^(SCwU;xR`321ZKh#FQecRYMULHy%H0Wpo2+oV)%{{kl|S-&Hdp(bl&+o5Pp+mW zBO^G9;Umi!je$%Akg$e2cE7u0cnnqSy{HuEw(c2&77@)SEEJM~d{kXn(Qh@^0A0Z{ z>-4dX^mH`}U`<^?@mtIlfmSyty*9zfz({4ISJD_!qMrrRHhu^FyF1H3>Mw(oWDSij|CshWO)pbK{}e({_)mf9D@V0~jVg}0b@ zox&vaEyhe^u_MyKh?AMUyj#h~QFq1Lwl)rXjid>&AU4eh$6NHbG1j0^ilQmtn4M?m z(+j{52W&_-On0oKLsO!;i;sQh>0t=$d(&##`?J~gXe+F=A+oqQ-K}-`=JMQN&P?&D z+8b`X6qaM2?)3#ai}186lzYrJ(bb)PrY;Vg z(#M|;3v-19iI*`jZ1^A}&XGvg`(`$oOgyUTq*}q0)1#5xi4Tj%{JeKTad7yMl)ITp z?B4r^%U>GLDjiI<}Ezk%FQ_h(%B{lzbO)IZ6KpDQ6!x|UhKdc^Rk$VN5{ zeK#hDSBzo)3ywY>@S2G&nKo)}%W|wP$~^dTQfv9kd{3g;Y0KKAQ!llorqd@s)o28Y zQXivB6%%{=>dnUXdn922t5$b*8G z+K8cvLB+gz-bSlB-aFJ&lWw2yJfhUM+Pb@dRLc2}lbAS>4%?yyHqAX-$LtZI zvVO6|{m}kh%$gSJSNAAwXBG{;c9w)B%l^=ckCK$v|9|nhzC*{{ge=E1BIfk;RKXC@ zcm*R`#n1H~sxok!O!IEvnA=N5O};}a@%nQ9X1!wVkmai>+MO`+y;fn94>2l)ok=y< z+b++zdo%q9RTbQ$|4}b5Y{ln}RW+nN4q{gGJhIdrXqd@jSUdIQ+Fgr74B_!N#7Rv} z^|#-xs^B1R6PNX>KyL<;Ghv|SNuMO&nPg|3`R@-@KTXMXA7a~T>ES-LK6h{%c z;rbzTwABw0m@5NoH-8Zoq$8syrGQt7&+ z{=o2lAU#RE2`U`yNo>5AGol8nTKx*Drs{JOC_F;SzSVwmIaMX+#` z_;~y;yy(}5ftMIU@2qsTtL$IxCH$wnODoh={)CEuCWd(~0pKI1uD)FHZ{#V2gXr?V zzx%zK;545g$TpsTkjjbueJc}QM;egdJN)-IzkT9A$%G<7>r8f9;&1%gncT7WfBzhw z1Q}rg(lHsY{`1br_t2ZY{D1u*4-qqg{{hCeR_t)r>iw?ay$#@T5oPX{+D-an%N+F#`|Ddy_K)OGTdkQDgz~F$AhHB6F*t52~X(V2ywevSJT@3F} zy`5kh{I(`TNcW5X_UM1Efxm((PbGn7%XFst(re$zwZ#Mt;rW}c zO-F|+-7gun?sE{zr!TC?6HiZEex461gSznRdrFYu>yn19F+Rzk>KY!`z>6iN$Yf!A zxlr-KtLddfJbV$8UDq5q@~$YU{{89qt1h3L z4GR+`SjcQ6Hu%3EFkxf2LzZTHX`Z!t*-DegD76s7S`#NbJ4zS6e6AeQTA!dqu{d{} zWQtYAs59Y-+|b>rn^!WetSu+SZfEAU8r%+!Zsb~(_Wa^rCR$ob#xSzU*T>u4+CCCQ zt3n64zCZ_b^nOck=9@=LuisGHoOmrML4RaIx3fXWG;2Yd^QPSemlp=r@;Rf@j0t|tS8F}T> z(W>2+wL>q-x*o!7cGl}D&!c4l#!Rov7V5|~dZ=$0X?X9@(3Hf=2Ai&xm-p4u+H5w} zE)cmDDW5^saOHnQ-k+u(--Bx8Q$jM&u#-pl_Rf_f2SdAeL7w_?_9_Xlf}d_~OxBS* z;}^sYhIc%>r70WjA3(a=%X_?`?|uDh(_y~&_?P@RZY&t6J&c}dm zv8qA!edte;n3683u%DWmo$78GSR@pEbDyqOZ>x{I{b|f6FpKUjObPh3>MnfEe&1F! z4iN|tukr-_(ede98I6)#JkLxnynjEGqA)NpWW*t3+Pr1Ki?o^H|JY109QE^if=0fH zsVQhNSGR~iOTLW4_|)fiH#Fsux$ZbUdx-ZOCfuFAMM zhcXBnu(!3g(y)u!0=LHd>~J0Hf}IP10~>q$%*Oq^uV7;2$%FRQWgCp^VF-oYk|Lk< z$+@Yc%7md!-%sYevq;EntDJUwCvOoGuQyJVn4|Vts8HIY>%ZXHVX|W-!J=1p@wBc5 z(+9E3fgGn8jzCUw@O^s2!xInQif_)bl(#I+j^i`s%@DWC%8FadP+C-a^7DwJm8Qcx zH_OvBwx0G)!~%+8VxOa-8f99k5x>(XVe~@N;13e+fN=hxqKZ-sdO-9SO|Lzg>q6XkkQ*E02w<_QkARu`p5QpJ})v$amV@ONT;eLgc><+62z%n`QxWU{w|hFSiP$D@vp zBJMU?ZB`)szI>`&c_un)nnPJlEe)h}!l)i#c7T#Mii(2piH;%~rp30el2HALOc8y- zU1s0mEO2h)#*OAM#n}sZ8ud3{G)M9sKqT4wbCLkg5@uFEdxqgupygrMU>!J`KzoEG z_q{dW0kfr#E-5oJGwQsYn=qt31Z_kv-fwBtZx2goe<>H|Sbu(1#dW#%P6a<1Xf=6L ze7&>+wrbW*JUF-erFl^BRH(7i*#*9}Z6V%|&rDAoV2+o(_u{JL-Y4ltpS-l!@{;oj z$cfxAbY$MmYmIy2s*%7Xy10XLUl)rx9v_mUrX=529i}q{pNgf9!>R0_N8by%fV*>h zyERLp3>77H@guvS=!vPBtg^!-%S+=U)7q1%8T0d!T5!FvJ!7UWVep?P*TpqNUtqTJ z?JUz@nnHUNZ7ZAoTnrdrl@04eFDXs1&<6aU&oAHJ?`23zb?-dcWLaANV9T_JWtJ9GPiAeLW|grUC1$ zTzEzS|1vkdj4ay&H$FbNNJ6vkkR7+Ca5`I?mQO@6UWa=vSL?c|0P4eWvI5y-^Hur! zpi8XMh>h0K8HM?PmY$IJVHrBbUG2sGx(x9;C%Q|$Bg>_<4+!7C>lu?5IFWyb2Wus0Qn_ub~f|h`F$yKx?4D0M0itKE4$; zn{6y9pIg*E7e4|HihqEpp&u<9bhojRL2Mcr7$D4m%O$YflasMIxX@*Vf(^ghfhsE~x}`w5ZUN5eqURn^Hg?()5Hv~KSE z)k8v-rsnEt?E``X1K0Ie2`F#)lUeX>h30`w@*8yQb3-1try&^AcM+YRRaLDAwPK}J zr-c0FND!kR6&4ak?7hMSXM!sj22i0jUwe7u5U6CpQlmDpm=l_l0-tJPj`chZ1t%!o z9MM}nbWdHJ>^vytfhI7J1L(p_Kh48*5p9U!7XFf44257~XBT0hFP|y%3y~|xIPl=k zLf>}4DZL{j)FcHaC7vykXl6cqsOM8ATpxG{{cN-eKthH8%e&@gR?OXy5DTF*UJ)`j z^lsT_4ZGgAbpvBIy}A!pvOy^gZeMu!ky1zw^R(E!*eit;^&)H9LptM!Z#en~Iml!S z!Niag8G3hyEGa2!d2h3juNar9Yyf>y&7t*t{5^6pr9$-VOiWR+4a>r#cSCXl&6bys z`$o2%ocF)6>eL^FB&sBJSK^GQ9}5(>nMZ-V?BiiLp&1PH^e}L8dZH`XZxK$yWSx_n zJJ?<@2|ybl_R9Cw)#>tn#2XLf?T0%)8Y(d(z|W6aT5bn~4Z7cvYPxYfE1mk~1?vQ7 z`WRs%B6^?jkhPixJ$>svy}V#YxIvIYIVhEmTb@v7BN)$7JV;nCVDT|bn4+XfAaqR!B3g*#Z*_Q-ug5< za_z3<^HT)vquj_o8DICK!zsOxd#`*y_enYo@4;VKgx6d-!0y6E1W2mUg09=g#l zARrQY6)3k$#oksuw#awD$7em?vF9~c%!Qa19Ow064G5)x94B`mB*d<#UD(2KPHs~bnjS4G3c6JF%DV{w5}j*S-rYa+_P5^ z2RM3h+dCLm%%e}JnnR1dz;h9lzM}m2kdIuT+L+(#fCQr#W zzP}1%+g2fWSezQTv_%SUgOf0z4k!hW2BTS@*g9Yc?8!;y#PmYC`7!CwN4`|@baE@k z2G{GT9WPVXe9I8?A~RPpbPpQ$>m-CAyKg&x(8|_slj!*ujYy*R^-naQtJ-!`i!W8P z^f}ukGjm~9iNZ_zlK}AiY|$1;=C9N35nk#n31P?Zl?;ar_w~28nEf=m`<}DIpG{O~ zZ3r|1RAL&+3I-Z~q9u{X$w9|nkL`y{1#v586*{Ek{T9jCyBIbYsn~@~wr?(p}JT!4nsC%R$`?X_pV>&+r@3)y+cV;|{)GuT{l6x#1b|qy`+tJ#}1N>aq z>rNi+=@(%5(bxZ8MVE2&l^yxJfaJMNXZtpTtgBl4wX1Vtzsz_c$X} zA}??Ko>9Y=oO_X7?_&8S%=q$si+lPKBZXqaH!ROCjc2NF-6pO;rRI(%CcQ{) zTfW{NBDc55|L70`Gb18sm;w0*k4N;?E-5dUDJg*%pc5d z-pb9_xKo7oWi%tXL>`agDc5cC$o?8@gj4W8Arac;HjyH8)4hkmYy>cXMht=I`i4I_ zb+P7fS^?|TwoFP99|y(WUCYyV89%XYx7lE7C~$|$2eUIeiaJp6!{UyToMPeg(&x&8 z3K%pM6n5xAHWy#?x%2IVPtzO2+qvIQEPrO6YN}uSV}wR&Naq88V;MmiF&F6LW8c*+ zIeygyfeJ1FNCt~b-FC&j$(8zbSO}aV9_Ie_DVHzbw9wv+fC6W<6I#yk+)F+A z0O&2Rhgu%Jut-I0A8mzd^*jf?oc$?C_~}jGC8a1v`Hmi%uW~Wz%$;g%-64^;$-`DL zA4WRYQnc4!o%NcIc1iREpxk(eZIc)0K5@}U?H#LX;9w=|y{H~=kG{J*R93l2ZRxY1 zK2!P5oko--A0q-uXAZYXIlz~ocIeX~6aLySai?uQU0|+!6FmX10fP|Tj?{`*U#*V4 zW8V^FV!ZR<>&<~$$E?+)d*Lba!@rY&xu+=mdi`;ld=~-xMXP^1Q@%jj)KzK}iNphn z&a2n1VLsjp35ttbEmZ@Vl#!T(k0JOuwUzkhIwOy{21OM5`zUqfoO{(Vxza7Gp)x24 zbcv93nHLuY!vh0X>f@Xa)(s&8C1g8%ePKI{a3>`#4KrHIy@g!sY{XUwN_4-x4|Dn~yImt0i~*dP5gMV+OT3Kbw)w%N5`}C-?6qR5{y=h+tD^o#8d?Oj8(WghQ$rOX74w|fXjK~}0$H*?$ z)hB(IchGTR&4ffyHChp_QiP?p7t3VK;5AEzIru%LOM#vl!Nu`eeolbu1 zH^G_Vg=#Y#O6oM1B0tj`n+Pm~(Bw<+ zX9NxBw6kC^()Inhg=%Pwvgpt}h}h*3J{J$S$z3XSEBU0#JaS%ZVCpd(VYXfMZ;fO5XR zre+X6(3a26g^s`5K(LDqs)5Hejlms*=Z%exb#*l2330d~;Jok}kvXr|zGh`+b`OF} zx58@c?|DK(5CUVmUqyzMQrWg5dmwHUukH16wL9Sz6aJox_lZJZtd7TLcb*oivs?s7 z+pkx{xA-5og@3N|pU3&#C_#Xe0KV|^C*#C2dE}^|oe9oNb>_azYXt>6n0RrKEg&lq z>{YW5jr8>N3=hjdcy;X9F~};^)T&tXc|tUkD3OlELG;**fh|kOPx^gxsW_$RRw*KB zerQn{1`jmsT|%YC#j*2r28;=uV>ccI$6{HINA_r=0LU7^84x~&-wEq)ffdvDs47Ho zO<2iuZryfb$s3m+y)Wrq>c6~v!J*%M|Nbk>XEp<>LW{TX!O7`^d$gjyJ;(pkhysqz z!^6XoXOIg_&(q={Vqjvjva;%>o28@?BHk)4j`sO;h)QH+WYBO&0zQt45@Z5I5`^sQ zTS6{C;P&j{BZ!YMG!V0U!L8Uy)rSNLBUd?~@r4+>*RV42h?~=QwErTZk)pY4u64_o zw5l^B?Cmd7FI3!FwQ|kA2Zu~#C+`HUlsuE+>}bN`kZ;twMKJ;fs$HA;zHPC89@Nj* z|5#hd*YGxg1cZh6;<}{HVkD>qgKsk_wP2?Iyz%K%(m5cVr)yYrY$c+Yx?1)YWC-SO?Xu#Cx&O|NNY^%4Z-!%$mZ= zuSi8diZM}rZ;@mQB;1Wj?nxj3N<1JJHveZ}`>S1oBVE`RD>udW>o!l0^WF5;WOz-5_%(F?)ra`SbhW;{cV28GGB)* z#9rie9RAiHA|_9HO0e+W0t@f&MZxcXNA{38mi@=~<%yr)C|h2!V#V^Z?E{w#yjVr3 bA4pbATXz9I+z6)eiWM3vdz7;j&HVpAi_z$< literal 0 HcmV?d00001 diff --git a/docs/screenshots/ui-occurrence-43498-identification.png b/docs/screenshots/ui-occurrence-43498-identification.png new file mode 100644 index 0000000000000000000000000000000000000000..3dd6e44bf2cc8ffec84e516fb46ab04b3b5629a1 GIT binary patch literal 67423 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 Date: Wed, 18 Feb 2026 05:07:42 -0800 Subject: [PATCH 41/44] =?UTF-8?q?fix:=20address=20review=20feedback=20?= =?UTF-8?q?=E2=80=94=20N+1=20query,=20distinct,=20HTML,=20test=20ordering?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Pre-load label→taxon mapping in RankRollupTask to eliminate N×M queries - Add .distinct() to rank_rollup queryset (M2M join can produce dupes) - Replace len(classifications) with pre-computed classification_count - Fix invalid HTML: move