Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[DO NOT MERGE] - Release v2.0.0 #2465

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open

[DO NOT MERGE] - Release v2.0.0 #2465

wants to merge 40 commits into from

Conversation

samet-akcay
Copy link
Contributor

πŸ“ Description

  • Anomalib v2 release

✨ Changes

Select what type of change your PR is:

  • 🐞 Bug fix (non-breaking change which fixes an issue)
  • πŸ”¨ Refactor (non-breaking change which refactors the code base)
  • πŸš€ New feature (non-breaking change which adds functionality)
  • πŸ’₯ Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • πŸ“š Documentation update
  • πŸ”’ Security update

βœ… Checklist

Before you submit your pull request, please make sure you have completed the following steps:

  • πŸ“‹ I have summarized my changes in the CHANGELOG and followed the guidelines for my type of change (skip for minor changes, documentation updates, and test enhancements).
  • πŸ“š I have made the necessary updates to the documentation (if applicable).
  • πŸ§ͺ I have written tests that support my changes and prove that my fix is effective or my feature works (if applicable).

For more information about code review checklists, see the Code Review Checklist.

djdameln and others added 20 commits September 12, 2024 16:39
* use dataclass for model in- and outputs

* split dataclass in image and video

* use dataclass in torch inferencer

* use dataclass in openvino inferencer

* add post_processor class

* remove default metrics from CLI

* export post processing

* add post processor to patchcore

* use named tuple for inference outputs

* validate and format inputs of PredictBatch

* update torch inference

* remove base inferencer inheritance

* update openvino inference

* fix visualization

* PredictBatch -> Batch

* post processor as callback

* use callback methods to apply post processing

* temporary fix for visualization

* add DatasetItem class

* fix pred_score shape and add __len__

* make batch iterable

* add in place replace method

* use dataset items in inference

* dataset_items -> items

* use namedtuple as torch model outputs

* formatting

* split dataclasses into input/output and image/video

* merge input and output classes

* use init_subclass for attribute checking

* add descriptor class for validation

* improve error handling

* DataClassDescriptor -> FieldDescriptor

* add is_optional method

* add input validation for torch image and batch

* use image and video dataclasses in library

* add more validation

* add validation

* make postprocessor configurable from engine

* fix post processing logic

* fix data tests

* remove detection task type

* fix more tests

* use separate normalization stats for image and pixel preds

* add sensitivity parameters to one class pp

* fix utils tests

* fix utils tests

* remove metric serialization test

* remove normalization and thresholding args

* set default post processor in base model

* remove manual threshold test

* fix remaining unit tests

* add post_processor to CLI args

* remove old post processing callbacks

* remove comment

* remove references to old normalization and thresholding callbacks

* remove reshape in openvino inferencer

* export lightning model directly

* make collate accessible from dataset

* fix tools integration tests

* add update method to dataclasses

* allow missing pred_score or anomaly_map in post processor

* fix exportable centercrop conversion

* fix model tests

* test all models

* fix efficient_ad

* post processor as model arg

* disable rkde tests

* fix winclip export

* add copyright notice

* add validation for numpy anomaly map

* fix getting started notebook

* remove hardcoded path

* update dataset notebooks

* update model notebooks

* fix logging notebooks

* fix model notebook
* Reduce rich methods (#2283)

remove rich

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Refactor BaseThreshold to Threshold (#2278)

* Refactor BaseThreshold to Threshold

* Add relative import and add tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert threshold.py to base.py

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert threshold imports

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update tests/unit/metrics/threshold/test_threshold.py

Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Enable Ruff Rules: PLW1514 and PLR6201 (#2284)

* pre-commit autoupdate

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Enable preview feautures, and disable some of the updated features

* Add missing copyrights

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Ignore copyrights in notebooks

* "PLW1514", # Add explicit encoding argument

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* "PLR6201", # Convert to set

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Co-authored-by: Ashwin Vaidya <ashwin.vaidya@intel.com>
Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
* Reduce rich methods (#2283)

remove rich

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Refactor BaseThreshold to Threshold (#2278)

* Refactor BaseThreshold to Threshold

* Add relative import and add tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert threshold.py to base.py

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert threshold imports

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update tests/unit/metrics/threshold/test_threshold.py

Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Enable Ruff Rules: PLW1514 and PLR6201 (#2284)

* pre-commit autoupdate

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Enable preview feautures, and disable some of the updated features

* Add missing copyrights

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Ignore copyrights in notebooks

* "PLW1514", # Add explicit encoding argument

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* "PLR6201", # Convert to set

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update docstring - FieldDescriptor

* Add docstring to generic.py

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add docstring to numpy.py

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add docstring to torch.py

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <amelndjd@gmail.com>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <amelndjd@gmail.com>

* Update src/anomalib/dataclasses/generic.py

Co-authored-by: Dick Ameln <amelndjd@gmail.com>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <amelndjd@gmail.com>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <amelndjd@gmail.com>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <amelndjd@gmail.com>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <amelndjd@gmail.com>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Co-authored-by: Ashwin Vaidya <ashwin.vaidya@intel.com>
Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Co-authored-by: Dick Ameln <amelndjd@gmail.com>
* Move datamodules to datamodule sub-package

* Move datamodules to datamodule sub-package

* Split datamodules and datasets

* Restructure dataclasses to data

* Fix relative imports

* Use absolute imports

* Add datasets dir

* Add relative imports for torch datasets

* Update src/anomalib/data/datamodules/base/__init__.py

Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Co-authored-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
* Restructure data unit tests to follow the new data structure

* Fix ruff issues
* Add validators

* Add depth validators to depth classes

* Add image validators to depth classes

* Add video validators to depth classes

* Add numpy validators and update dataclasses

* Run all the tests on the ci

* Fix the tests

* Created validator tests and added numpy video tests

* Add numpy image tests

* Add numpy depth tests

* Add torch validator tests

* Fix numpy validation tests

* Convet private _validate methods to public validate method

* Revert "Convet private _validate methods to public validate method"

This reverts commit 47f183a.

* Convert private _validate methods to public validate method

* Remove batch_size arg from validators

* Remove anomaly_map from validators

* Use validators as mixins

* convert abstractmethods to static abstractmethods

* Move pred-score computation to model implementations

* Add missing pred_score implemenations in models

* Fix the numpy validation tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix visualization tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add numpy video validator mixin to numpy video item, and remove validation methods

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add np.bool_ to validate np label

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
* Add validators

* Add depth validators to depth classes

* Add image validators to depth classes

* Add video validators to depth classes

* Add numpy validators and update dataclasses

* Run all the tests on the ci

* Fix the tests

* Created validator tests and added numpy video tests

* Add numpy image tests

* Add numpy depth tests

* Add torch validator tests

* Fix numpy validation tests

* Convet private _validate methods to public validate method

* Revert "Convet private _validate methods to public validate method"

This reverts commit 47f183a.

* Convert private _validate methods to public validate method

* Remove batch_size arg from validators

* Remove anomaly_map from validators

* Use validators as mixins

* convert abstractmethods to static abstractmethods

* Move pred-score computation to model implementations

* Add missing pred_score implemenations in models

* Fix the numpy validation tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix visualization tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add numpy video validator mixin to numpy video item, and remove validation methods

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add np.bool_ to validate np label

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* add convert_to_title_case function to path utils

* Add ImageVisualizer

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Create image visualization functionals

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Create image visualization class

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add a comment in visualize-item

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update functional.py

* Add warning for invalid overlays

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add overlay_mask function with fill and contour modes

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Moved `visualize_image_item` to a new module

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix typo in visualizer

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Pass mask color to visualize_mask

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Modify item_visualizer

Signed-off-by: Samet Akcay <sakcay@MV23WXK0MRmac.local>

* Update visualize item

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update the item visualization

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update the item visualization

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <sakcay@MV23WXK0MRmac.local>
Co-authored-by: Samet Akcay <sakcay@MV23WXK0MRmac.local>
* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9 (#2274)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9

Updates the requirements on [timm](https://github.com/huggingface/pytorch-image-models) to permit the latest version.
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](huggingface/pytorch-image-models@v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: timm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update pyproject.toml

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* 🐞Update `setuptools` requirement for PEP 660 support (#2320)

Update setup tools

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix transforms for draem, dsr and rkde (#2324)

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Add check before loading metrics data from checkpoint (#2323)

Add check before loading from checkpoint

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* Add PIMO (#2329)

* PIMO (#1726)

* update

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* test binclf curves numpy and numba and fixes

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct som docstrings

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* torch interface and tests

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* torch interface and tests

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* constants regrouped in dataclass as class vars

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* result class was unneccesary for per_image_binclf_curve

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* factorize function _get_threshs_minmax_linspace

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* small docs fixes

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add pimo numpy version and test

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* move validation

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add `shared_fpr_metric` option

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add pimo torch functional version and test

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add torchmetrics interface and test

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* renames and put things in init

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* validate inputs in result objects

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* result objects to from dict and tests

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add save and load methods to result objects and test

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor validations and minor changes

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* test result objects' properties

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minor refactors

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add missing docstrings

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minore vocabulary fix for consistency

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add per image scores statistics and test it

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor constants notation

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add stats tests and test it

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* change the meaning of AUPIMO.num_thresh

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* interface to format pairwise test results

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* improve doc

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add optional `paths` to result objects and some minor fixes and refactors

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* remove frozen from dataclasses and some done todos

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* review headers

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* doc modifs

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor `score_less_than_thresh` in `_binclf_one_curve_python`

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct license comments

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* fix doc

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* numba as extra requirement

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor copyrights from jpcbertoldo

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* remove from __future__ import annotations

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor validations names

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* dedupe file path validation

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* fix tests

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* Add todo

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor enums

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* only logger.warning

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor test imports

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor docs

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor some docs

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct pre commit errors

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* remove author tag

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add thrid party program

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* Update src/anomalib/metrics/per_image/pimo.py

* move HAS_NUMBA

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* remove PIMOSharedFPRMetric

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* make torchmetrics compute avg by dft

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* pre-commit hooks corrections

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct numpy.trapezoid

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* πŸ—‘οΈ Remove numba (#2313)

* remove numba

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* add third-party-programs.txt

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* πŸ—‘οΈ Remove unused methods (#2315)

* remove numba

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* PIMO: Port Numpy β†’ Torch (#2316)

* remove numba

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* πŸ”¨Refactor methods across files (#2321)

* remove numba

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* refactor code

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* refactor
move functional inside update
remove path from the metric

* Add changes from comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Remove model to model comparison (#2325)

* rename to pimo

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* minor refactor

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove model to model comparison

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix test

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* PR comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Minor refactor

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* PR comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Remove unused enums

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* update doc strings

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* update param names

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* add aupimo basic usage tutorial notebook (#2330)

* add aupimo basic usage tutorial notebook

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* update scipy import

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add cite us

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minor

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* modify texts and add illustration

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* udpate working dir

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Co-authored-by: Joao P C Bertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* Makes batch size dynamic (#2339)

Made batch dimension of ONNX export dynamic when specifying input shape.

* Add pimo tutorial advanced i (fixed) (#2336)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* update readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* modify changelog

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct again

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minor corrections

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* Pimo tutorials/02 advanced ii (#2347)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* update readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* modify changelog

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct again

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minor corrections

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add aupimo notebook advanced ii (pimo curve and integration bounds)

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* fix links

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct change log

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* Create epic.yaml

* πŸ”¨ Update the issue templates (#2363)

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update task.yaml

* Create user_story.yaml

* Update epic.yaml

* Pimo tutorials/03 advanced iii (#2348)

* add aupimo notebook advanced iii (aupimo score of a random model)

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add cite us

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* update notebooks readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* πŸ”¨ Deprecate try import and replace it with Lightning's package_available (#2373)

Replace try_import with lightnings package_available function

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Refactor folder3d to avoid complex-structure (C901) issue (#2185)

* Refactored-make_folder3d_dataset-ruff-error-C901 (#1926)

Signed-off-by: sahusiddharth <siddharth.sahu@plaksha.edu.in>

* Simplify folder 3d dataset (#2184)

---------

Signed-off-by: sahusiddharth <siddharth.sahu@plaksha.edu.in>
Co-authored-by: Siddharth Sahu <112792547+sahusiddharth@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>
Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Signed-off-by: sahusiddharth <siddharth.sahu@plaksha.edu.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: BlaΕΎ Rolih <61357777+blaz-r@users.noreply.github.com>
Co-authored-by: Ashwin Vaidya <ashwin.vaidya@intel.com>
Co-authored-by: Joao P C Bertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Marcus Pertlwieser <116986601+Marcus1506@users.noreply.github.com>
Co-authored-by: Siddharth Sahu <112792547+sahusiddharth@users.noreply.github.com>
* refactor metrics callback

* add Evaluator class

* remove unused import

* add AnomalibMetric base class

* cleanup

* add create_anomalib_metric function

* use new AnomalibMetric class

* verify keys when updating metric

* use anomalib PR curve for f1max

* replace evaluator with metrics arg

* revert removing exportable transform method

* fix unit tests

* add kwargs to lightning models

* fix pre-commit issues

* remove kwargs key from update config

* add Evaluator to metrics init

* set default evaluator for image-only models

* fix cfa tests

* fix model tests

* update changelog

* remove tests of deprecated callback modules

* fix engine tests

* fix 201 notebook

* fix 600 notebook

* add default evaluator to fastflow

* revert cfa changes and fix pred score computation

* simplify evaluator argument

* validate metrics in evaluator

* remove unused import

* fix pred_label shape validation

* fix method name

* fix pred_label validator

* update validator tests

* fix method name in fastflow

* add AnomalibMetric functionality to PIMO

* add optional default fields and implement for pimo

* update aupimo notebooks

* use explicit args in lightning model signature

* remove kwargs from evaluator

* add _resolve_evaluator method

* fix config upgrade test

* do not force pypi install in mlflow notebook

* do not force pypi install in mlflow notebook
* Created pre-processor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Rename transforms to transform in pre-processor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove transforms from datasets

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove setup_transforms from Engine

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add preprocessor to AnomalyModule and models

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove self._transform from AnomalyModule

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* revert transforms in datasets

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* fix efficient_ad and engine.config tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update the upgrade tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert on_load_checkpoint hook to AnomalyModule

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove exportable transform from anomaly module and move to pre-processor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add pre-processor to the model graph

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add docstring to pre-processor class

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix win-clip tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update notebooks

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Split the forward logic and move the training to model hooks

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Set data transforms from preprocessor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update the docstrings

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Get stage transforms in setup of pre-processor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert data config yaml files

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert datamodules

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert datasets

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert notebooks

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* remove padim preprocessor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update the setup logic in pre-processor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert datamodules

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Set datamodule transforms property from preprocessor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert v1 upgrade tool

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix aupimo notebooks

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add pre-processor unit tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Increase the test coverage for PreProcessor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add option to disable pre-processor

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Split setup_transforms to setup_datamodule_transforms and setup_dataloader_transforms

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Replace batch.update with in-place batch transforms

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove logger.warning when the default pre-processor is used

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Use predict-transforms explicitly

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* remove pre-processor and configure_transforms from export mixin

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Rename set_datamodule_transform to set_datamodule_stage_transform

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove transform related keys from data configs

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* update preprocessor tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove setup method from the model implementations

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove image size from datamodules in jupyter notebooks

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Modify folder notebook to acccess the batch from dataset not dataloader

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Create resolve preprocessor method

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Return  if  is

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Rename self.exportable_transform to self.export_transform

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove set_datamodule_transforms

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* remove hooks as they are not needed anymore

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix pre-processor tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* remove transform getter util function

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix transform dict to setup datamodule transforms

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix Fastflow notebook

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9 (#2274)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9

Updates the requirements on [timm](https://github.com/huggingface/pytorch-image-models) to permit the latest version.
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](huggingface/pytorch-image-models@v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: timm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update pyproject.toml

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* 🐞Update `setuptools` requirement for PEP 660 support (#2320)

Update setup tools

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix transforms for draem, dsr and rkde (#2324)

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Add check before loading metrics data from checkpoint (#2323)

Add check before loading from checkpoint

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* Add PIMO (#2329)

* PIMO (#1726)

* update

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* test binclf curves numpy and numba and fixes

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct som docstrings

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* torch interface and tests

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* torch interface and tests

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* constants regrouped in dataclass as class vars

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* result class was unneccesary for per_image_binclf_curve

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* factorize function _get_threshs_minmax_linspace

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* small docs fixes

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add pimo numpy version and test

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* move validation

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add `shared_fpr_metric` option

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add pimo torch functional version and test

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add torchmetrics interface and test

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* renames and put things in init

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* validate inputs in result objects

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* result objects to from dict and tests

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add save and load methods to result objects and test

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor validations and minor changes

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* test result objects' properties

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minor refactors

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add missing docstrings

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minore vocabulary fix for consistency

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add per image scores statistics and test it

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor constants notation

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add stats tests and test it

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* change the meaning of AUPIMO.num_thresh

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* interface to format pairwise test results

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* improve doc

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add optional `paths` to result objects and some minor fixes and refactors

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* remove frozen from dataclasses and some done todos

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* review headers

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* doc modifs

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor `score_less_than_thresh` in `_binclf_one_curve_python`

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct license comments

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* fix doc

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* numba as extra requirement

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor copyrights from jpcbertoldo

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* remove from __future__ import annotations

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor validations names

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* dedupe file path validation

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* fix tests

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* Add todo

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor enums

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* only logger.warning

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor test imports

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor docs

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* refactor some docs

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct pre commit errors

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* remove author tag

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add thrid party program

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* Update src/anomalib/metrics/per_image/pimo.py

* move HAS_NUMBA

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* remove PIMOSharedFPRMetric

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* make torchmetrics compute avg by dft

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* pre-commit hooks corrections

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct numpy.trapezoid

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* πŸ—‘οΈ Remove numba (#2313)

* remove numba

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* add third-party-programs.txt

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* πŸ—‘οΈ Remove unused methods (#2315)

* remove numba

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* PIMO: Port Numpy β†’ Torch (#2316)

* remove numba

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* πŸ”¨Refactor methods across files (#2321)

* remove numba

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* refactor code

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* refactor
move functional inside update
remove path from the metric

* Add changes from comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Remove model to model comparison (#2325)

* rename to pimo

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* minor refactor

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove model to model comparison

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix test

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* PR comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Minor refactor

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* PR comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Remove unused enums

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* update doc strings

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* update param names

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* add aupimo basic usage tutorial notebook (#2330)

* add aupimo basic usage tutorial notebook

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* update scipy import

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add cite us

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minor

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* modify texts and add illustration

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* udpate working dir

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Co-authored-by: Joao P C Bertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* Makes batch size dynamic (#2339)

Made batch dimension of ONNX export dynamic when specifying input shape.

* Add pimo tutorial advanced i (fixed) (#2336)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* update readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* modify changelog

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct again

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minor corrections

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* Pimo tutorials/02 advanced ii (#2347)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* update readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* modify changelog

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct again

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* minor corrections

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add aupimo notebook advanced ii (pimo curve and integration bounds)

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* fix links

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* correct change log

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* Create epic.yaml

* πŸ”¨ Update the issue templates (#2363)

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update task.yaml

* Create user_story.yaml

* Update epic.yaml

* Pimo tutorials/03 advanced iii (#2348)

* add aupimo notebook advanced iii (aupimo score of a random model)

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add cite us

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* update notebooks readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* πŸ”¨ Deprecate try import and replace it with Lightning's package_available (#2373)

Replace try_import with lightnings package_available function

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Refactor folder3d to avoid complex-structure (C901) issue (#2185)

* Refactored-make_folder3d_dataset-ruff-error-C901 (#1926)

Signed-off-by: sahusiddharth <siddharth.sahu@plaksha.edu.in>

* Simplify folder 3d dataset (#2184)

---------

Signed-off-by: sahusiddharth <siddharth.sahu@plaksha.edu.in>
Co-authored-by: Siddharth Sahu <112792547+sahusiddharth@users.noreply.github.com>

* πŸš€ Add datumaro annotation dataloader (#2377)

* Add datumaro annotation dataloader

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Update changelog

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add examples

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Pimo tutorials/04 advanced iv  (#2352)

* add notebook 701e_aupimo_advanced_iv on load/save and statistical comparisons

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* make `AUPIMOResult.num_thresholds` optional

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* add aupimo notebook advanced iv (load/save and statistical tests)

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* simplify cite us and mention intal

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

* fix readme

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>

---------

Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* 🐞 Defer OpenVINO import to avoid unnecessary warnings (#2385)

* Fix openvino import issue

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix pre-commit issues

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* πŸš€ Add VLM based Anomaly Model (#2344)

* [Draft] Llm on (#2165)

* Add TaskType Explanation

Signed-off-by: Bepitic <bepitic@gmail.com>

* Add llm model

Signed-off-by: Bepitic <bepitic@gmail.com>

* add ollama

Signed-off-by: Bepitic <bepitic@gmail.com>

* better description for descr in title

Signed-off-by: Bepitic <bepitic@gmail.com>

* add text of llm into imageResult visualization

* add text of llm into imageResult visualization

Signed-off-by: Bepitic <bepitic@gmail.com>

* latest changes

Signed-off-by: Bepitic <bepitic@gmail.com>

* add wip llava/llava_next

Signed-off-by: Bepitic <bepitic@gmail.com>

* add init

Signed-off-by: Bepitic <bepitic@gmail.com>

* add text of llm into imageResult visualization

Signed-off-by: Bepitic <bepitic@gmail.com>

* latest changes

Signed-off-by: Bepitic <bepitic@gmail.com>

* upd Lint

Signed-off-by: Bepitic <bepitic@gmail.com>

* fix visualization with description

Signed-off-by: Bepitic <bepitic@gmail.com>

* show the images every batch

Signed-off-by: Bepitic <bepitic@gmail.com>

* fix docstring and error management

Signed-off-by: Bepitic <bepitic@gmail.com>

* Add compatibility for TaskType.EXPLANATION.

Signed-off-by: Bepitic <bepitic@gmail.com>

* Remove, show in the engine-Visualization.

* fix visualization and llm openai multishot.

* fix Circular import problem

* Add HugginFace To LLavaNext

Signed-off-by: Bepitic <bepitic@gmail.com>

---------

Signed-off-by: Bepitic <bepitic@gmail.com>

* πŸ”¨ Scaffold for refactor (#2340)

* initial scafold

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* rename dir

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add ChatGPT (#2341)

* initial scafold

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* rename dir

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* delete llm_ollama

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Remove LLM model

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add Huggingface (#2343)

* initial scafold

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* rename dir

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* delete llm_ollama

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Remove LLM model

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add transformers

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Remove llava

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* πŸ”¨ Minor Refactor (#2345)

Refactor

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* undo changes

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* undo changes

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* undo changes to image.py

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Add explanation visualizer (#2351)

* Add explanation visualizer

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* bug-fix

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* πŸ”¨ Allow setting API keys from env (#2353)

Allow setting API keys from env

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* πŸ§ͺ Add tests (#2355)

* Add tests

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* remove explanation task type

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* minor fixes

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Update changelog

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Fix tests

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Address PR comments

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* update name

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Update src/anomalib/models/image/vlm_ad/lightning_model.py

Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* update name

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Bepitic <bepitic@gmail.com>
Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Co-authored-by: Paco <bepitic@gmail.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* Add ensembling methods for tiling to Anomalib (#1226)

* Fixed broken links in readme

* Fixed inference command in readme

* Add tiling for ensemble

* Add tests for tiling for ensemble

* Moved ensemble tiler to separate file

* Modify padim config for ensemble

* Add tiling to dataset

* Revert changes to train

* Add tiling to collate fn

* Fix tiling in collate

* Change val. function to protected

* Add tile number logic

* Move collate fn to separate file

* Update tests for tiler

* Add training loop for ensemble

* Add model input size setup

* Move ens config to separate file

* Revert mvtec modifications

* Remove unused imports in mvtec

* Add batch adjustment to untiling

* Add predict step to ensemble

* Add comment and docstring to tile joining function

* Move tile joining to separate function

* Add joining for all tiled data

* Add joining for all box data

* Refactor pred. joining as modular class

* Fix box joining

* Add label and score joining

* Add ensemble visualization

* Add end of predict hook

* Add metric computation

* Fix metric thresholds

* Add removal of individual visualization

* Add demo1 notebook

* Add docstrings and cleanup

* Add memory benchmark

* Add modular class for storing predictions

* Add metric to separate class

* Refactor to support prediction data class

* Rename predictions class

* Add filesystem predictions class

* Add resized predictions class

* Fix joiner for classification task

* Add page peak to memory benchmark

* Add global stats calculation

* Add docstrings to stats calculation

* Refactor joiner for pipeline

* Refactor stats into pipeline

* Refactor metrics as pipeline block

* Refactor visualization as pipeline block

* Refactor postprocessing into a pipeline

* Add normalization and thresholding on joined predictions

* Refactor tiler to accept config file

* Add smoothing of tile joins.

* Refactor ensemble datamodule preparation

* Remove unused changes in dataloader

* Fix metric configuration

* Fix box coordinates in joining

* Add ensemble callbacks preparation function

* Fix box prediction bug in postprocess

* Add ensemble params to config

* Refactor postprocessing.

* Refactor post-processing

* Refactor predictions

* Code cleanup

* Optimize prediction storage

* Make join smoothing configurable

* Cleanup before PR

* Fix stats pipeline

* Fix logging strings

* Fix memory benchmark

* Fix tiler issues

* Fix import issues

* Fix naming in metrics and visualization

* Fix cyclic import

* Make logging lazy

* Refactor tiler tests

* Added collate tiling tests

* Added ensemble helper functions tests

* Refactor for dummy ensemble config

* Refactor for dummy base config

* Add tests for prediction storage

* Add tests for prediction joiner

* Add tests for visualization

* Fix small issues in tests

* Add metrics test

* Add post-processing tests

* Fix tiler to work with different instance

* Move seed setting inside train loop

* Fix pipeline stats bug

* Rename ensemble config fixture

* Add pipeline tests

* Fix config in pipeline tests

* Add training script test

* Fix types and docstrings

* Move and rename to tiled_ensemble

* Fix bug in label joining.

* Remove memory benchmark

* Cleanup files

* Fix metrics setup

* Rename collate function

* Add license to test files

* Rename fixtures

* Add more comments to tiled ensemble training

* Add start of training log message

* Refactor tiler to have explicit arguments

* Refactor pred. storage to have explicit arguments

* Refactor metrics to have explicit arguments

* Refactor visualization to have explicit arguments

* Refactor post-processing to have explicit arguments

* Sort imports

* Add test ensemble script

* Fix join smoothing bug

* Add more documentation to doc-strings

* Remove unused import

* Add brief tiled ensemble documentation

* Update typehints

* Make training args more clear

* Revert addition of no threshold option.

* Refactor normalization and threshold config

* Remove tiled ensemble from docs index

* Add comments to clarify parts of ensemble config

* Improve ensemble config comments

* Add num_tiles attribute to tiler.

* Fix metrics process docstring

* Fix visualization bug and cover with test

* Replace strings with enum

* Improve comments in joiner.

* Fix bug when model doesn't have anomaly maps.

* Improve docstrings (types, clarify).

* Fix visualization tests

* Fix dict membership checks

* Add saving of ensemble config file

* Update test script args

* Cover test script with tests

* Update export warning

* Fix case when no test or val data

* Improve documentation images

* Add images for documentation

* Add codacy suggestion

* Refactor joiner to single class

* Refactor storage names and config

* Update normalization and threshold stage names

* Add transforms independent input size to models

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Make collate function a datamodule attribute

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor tiled ensemble train into pipeline step

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor tiled ensemble prediction into pipeline step

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor tiled ensemble merging into pipeline step

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor tiled ensemble seam smoothing into pipeline step

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor tiled stats calculation into pipeline step

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Fix ckpt loading when predicting on test set.

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Add logging and add tqdm to pipeline steps.

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor normalization pipeline step

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor thresholding into new pipeline job

* Fix transforms issue when predicting with dataloader

* Add visualization as new pipeline step

* Add metrics as new pipeline step

* Format the code and address some lint problems

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Add code to skip test if test split is none

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Add accelerator to metrics and smoothing

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Make threshold acq helper function and add to threshold to metrics

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Make a separate test pipeline

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Restructure tiled ensemble files into directories

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Pipeline code cleanup

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

* Remove old tiled ensemble files

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Remove old post processing files

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Fix sigma value read in smoothing

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Update stats calc and normalization

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Update args naming convention

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor code for nice config

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Update docs structure for new system

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Cleanup train code

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Fix test script args

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Update box merging

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor helper function tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Small changes in helper and engine

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor merging tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor tiling tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor metrics test

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Add support for different threshold methods

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Format tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Change test to predict

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor stats calculation tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor prediction data tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Update metrics tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Move metrics tests to components

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor seam smoothing tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor normalization tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Move mock stats to conftest

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Fix typehints for generator

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Refactor threshold tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Temporarily disable box minmax

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Add tiled ensemble integration test

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Fix normalization tests and add additional merging test

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Add tile collater tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Change dataset in tests to dummy

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Format and fix linter errors

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Format and some cleanup

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Rename predict to eval

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Update docs for refactored version of code

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Cleanup the docs

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Update ensemble engine

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Remove boxes from pipelines and tests

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Fix TODO comment issue

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Fix unused model in ens. engine

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Fix path case in test

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Change temporary dir to project_path

Signed-off-by: blaz-r <blaz.rolih@gmail.com>

* Change mvtec to MVTec in test path

Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>

---------

Signed-off-by: blaz-r <blaz.rolih@gmail.com>
Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* πŸ“š Add training from a checkpoint example (#2389)

* Add training from a checkpoint example

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Replace patchcore example with efficient-ad

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Export experiment duration in seconds in CSV. (#2392)

* Export experiment duration in seconds in CSV.

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

* Update CHANGELOG

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

* Log fit and test durations separately.

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

---------

Signed-off-by: Weilin Xu <weilin.xu@intel.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* Make single GPU benchmarking 5x more efficient (#2390)

* Use SerialRunner if only one CUDA device is available.

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

* Resolve PLR6201.

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

* Update CHANGELOG.

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

* Keep the same logging level in benchmarking.

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

---------

Signed-off-by: Weilin Xu <weilin.xu@intel.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* 🐞 Fix installation package issues (#2395)

* Update the coverage settings

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove VlmAd's relative import

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Revert relative imports

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add type checking

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Export the flattened config in benchmark CSV. (#2391)

* Export the flattened config in benchmark CSV.

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

* Update CHANGELOG

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

* Reuse the existing flatten_dict().

Signed-off-by: Weilin Xu <weilin.xu@intel.com>

---------

Signed-off-by: Weilin Xu <weilin.xu@intel.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>

* `v1.2.0` Release (#2397)

Prepare v1.2.0 release (#2396)

* Update changelog



* Update the version in __init__



---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Bump Anomalib version to `2.0.0dev` in `main` (#2402)

Update __init__.py

* 🐞Replace package_available with module_available (#2407)

* fix datumaro config

* fix edge case in benchmarking pipeline

* fix vlm ad

* remove ensemble tiling in preparation of refactor

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Blaz Rolih <blaz.rolih@gmail.com>
Signed-off-by: jpcbertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Signed-off-by: sahusiddharth <siddharth.sahu@plaksha.edu.in>
Signed-off-by: Bepitic <bepitic@gmail.com>
Signed-off-by: blaz-r <blaz.rolih@gmail.com>
Signed-off-by: Weilin Xu <weilin.xu@intel.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <samet.akcay@intel.com>
Co-authored-by: BlaΕΎ Rolih <61357777+blaz-r@users.noreply.github.com>
Co-authored-by: Ashwin Vaidya <ashwin.vaidya@intel.com>
Co-authored-by: Joao P C Bertoldo <24547377+jpcbertoldo@users.noreply.github.com>
Co-authored-by: Marcus Pertlwieser <116986601+Marcus1506@users.noreply.github.com>
Co-authored-by: Siddharth Sahu <112792547+sahusiddharth@users.noreply.github.com>
Co-authored-by: Paco <bepitic@gmail.com>
Co-authored-by: Weilin Xu <weilin.xu@intel.com>
Co-authored-by: Harim Kang <harim.kang@intel.com>
* Rename AnomalyModule to AnomalibModule

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Ignore AnomalyModule from the tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
* Add multi random choice transform

* Add DRAEMAugmenter class and Perlin noise generation to new_perlin.py

- Introduced DRAEMAugmenter for advanced image augmentations using torchvision v2.
- Implemented various augmentation techniques including ColorJitter, RandomAdjustSharpness, and custom transformations.
- Added functionality for comparing augmentation methods and visualizing results.
- Included utility functions for metrics computation and image processing.
- Established logging for better traceability of operations.

This commit enhances the image processing capabilities within the Anomalib framework, facilitating more robust anomaly detection workflows.

* Add the new perlin noise

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add the new perlin noise

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* add generate_perlin_noise relative import

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* add tiffile as a dependency

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove upper bound from wandb

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Added skimage

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* add scikit-learn as a dependency

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* limit ollama to < 0.4.0 as it has breaking changes

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix data generators in test helpers

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Update the perlin augmenters

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix numpy validator tests caused by numpy upgrade

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix CS-Flow tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix the tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
* remove task type

* remove task type

* fix unit tests

* fix integration tests

* update getting started notebook

* remove task type from data notebooks

* remove task type from model notebooks

* remove task type from logger notebooks

* remove task type from metric notebooks
* remove rkde

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* update changelog

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* Remove R-KDE model references and documentation

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
* Initial changes

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* stash

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix video mask

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>

* fix remaining models

Signed-off-by: Ashwin Vaidya <ashwin.vaidya@intel.com>

* Fix tests

Signed-off-by: Ashwin Vaidya <ashwin.vaidya@intel.com>

* update docstrings

Signed-off-by: Ashwin Vaidya <ashwin.vaidya@intel.com>

---------

Signed-off-by: Ashwin Vaidya <ashwinnitinvaidya@gmail.com>
Signed-off-by: Ashwin Vaidya <ashwin.vaidya@intel.com>
…#2460)

* Refactor post-processor to match the pre-processor and evaluator pattern

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add visualizer to models

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Refactor `configure_callbacks` method in `AnomalibModule` to dynamically include available callbacks (pre-processor, post-processor, evaluator, visualizer) based on their existence. Update docstring for clarity on return values.

* Refactor callback handling in `Engine` class by removing post-processor and metrics callbacks. Simplify callback configuration to streamline the process and enhance maintainability.

* Fix circular import issue

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix circular import issue

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Convert `configure_post_processor` to a method

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Fix upgrade tests

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Rename anomaly_module to anomalib_module

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Updatechangelog

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
* Add new gh actions based ci pipeline

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add new gh actions based ci pipeline

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove nodejs from reusable workflows

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Remove sudo in clamav

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Further refactor test suite

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* update release validation workflow

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

* Add documentation about the release strategy

Signed-off-by: Samet Akcay <samet.akcay@intel.com>

---------

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Copy link

Check out this pull request onΒ  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Copy link

codecov bot commented Dec 11, 2024

Codecov Report

Attention: Patch coverage is 79.98221% with 450 lines in your changes missing coverage. Please review.

Project coverage is 78.49%. Comparing base (bcc0b43) to head (7251739).

Files with missing lines Patch % Lines
src/anomalib/data/validators/numpy/video.py 43.75% 126 Missing ⚠️
src/anomalib/data/validators/torch/video.py 71.00% 87 Missing ⚠️
src/anomalib/data/validators/numpy/image.py 73.78% 54 Missing ⚠️
src/anomalib/data/validators/torch/image.py 82.40% 38 Missing ⚠️
src/anomalib/data/validators/numpy/depth.py 77.22% 23 Missing ⚠️
src/anomalib/data/validators/torch/depth.py 87.94% 17 Missing ⚠️
src/anomalib/data/dataclasses/generic.py 88.88% 13 Missing ⚠️
src/anomalib/data/dataclasses/numpy/depth.py 0.00% 9 Missing ⚠️
src/anomalib/data/datamodules/base/video.py 35.71% 9 Missing ⚠️
...rc/anomalib/data/datamodules/video/shanghaitech.py 79.54% 9 Missing ⚠️
... and 22 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2465      +/-   ##
==========================================
- Coverage   81.96%   78.49%   -3.47%     
==========================================
  Files         283      303      +20     
  Lines       12539    12974     +435     
==========================================
- Hits        10277    10184      -93     
- Misses       2262     2790     +528     
Flag Coverage Ξ”
integration_py3.10 62.75% <51.77%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

β˜” View full report in Codecov by Sentry.
πŸ“’ Have feedback on the report? Share it here.

Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Signed-off-by: Samet Akcay <samet.akcay@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants