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

Added docstrings for Imagelab module, class, public methods and attributes #91

Merged
merged 71 commits into from
Feb 18, 2023

Conversation

sanjanag
Copy link
Member

@sanjanag sanjanag commented Feb 8, 2023

Added docstrings for Imagelab module, class, public methods and attributes


📚 Documentation preview 📚: https://cleanvision--91.org.readthedocs.build/en/91/

@sanjanag sanjanag self-assigned this Feb 8, 2023
@sanjanag sanjanag marked this pull request as draft February 8, 2023 23:32
@sanjanag sanjanag marked this pull request as ready for review February 8, 2023 23:50
src/cleanvision/imagelab.py Show resolved Hide resolved
src/cleanvision/imagelab.py Outdated Show resolved Hide resolved
src/cleanvision/utils/utils.py Outdated Show resolved Hide resolved
sanjanag and others added 2 commits February 9, 2023 08:59
@jwmueller jwmueller removed the request for review from ulya-tkch February 14, 2023 19:54
Copy link
Member

@jwmueller jwmueller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

had two more nit suggestions but otherwise LGTM.

@elisno please look over the comments where you are tagged as these decisions influence Datalab

- Removed num_top_issues argument as it is unnecessary and can be controlled by verbosity
- Changed max_prevalence to filter out issues in both cases where no issue_types are specified and also where issue_types are specified
@sanjanag sanjanag merged commit 45a4115 into main Feb 18, 2023
sanjanag added a commit that referenced this pull request Feb 22, 2023
…butes (#91)

* Added docstrings for Imagelab() and get_filepaths()

* Added docstring for Imagelab._set_default_config()

* Added docstring for imagelab.visualize()

* Added docstrings in Imagelab.find_issues()

* Added spacing in visualize documentation

* Added docstrings for Imagelab.list_possible_issue_types()

* Added examples in Imagelab.visualize()

* Added docstrings for Imagelab.report()

* Added docstrings for Imagelab.load()

* Added docstrings for Imagelab class

* Added docstrings for imagelab.py module

* Fixed codeblock formatting

* Added docstring to Imagelab.save()

* Update src/cleanvision/utils/utils.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Added newline after code-block for proper formatting in sphinx documentation

* Improved docstrings

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Changed style of param type

* Added cross references

* Docstring formatting improvements

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Removed examlpes_per_issue argument from visualize

* Removed docstring for examples_per_issue

* Added argument filepaths to Imagelab()

* Renamed {issue_type}_bool column to is_{issue_type}_issue

* Fixed mypy annotations

* Added an argument to avoid overwriting files by default

* Removed multiple import lines from same package

* Removed an extra line

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Resolved comment

* Resolved comment

* Specify only one of data_path or filepaths, in all other cases throw ValueError

* Added documentation for n_jobs

* Improved docs formatting

* Improved docs formatting

* Fixed get_max_n_jobs

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Fixed flake8 error

* Fixed mypy error

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed allow_overwrite to force

* Updated imagelab.report()
- Removed num_top_issues argument as it is unnecessary and can be controlled by verbosity
- Changed max_prevalence to filter out issues in both cases where no issue_types are specified and also where issue_types are specified

* Filter issues first and then limit by number of issues to report

* Added print statement to indicate more issues were found

---------

Co-authored-by: Elías Snorrason <[email protected]>
Co-authored-by: Jonas Mueller <[email protected]>
sanjanag added a commit that referenced this pull request Feb 24, 2023
* Added GrayscaleIssueManager

* DuplicatedIssueManager working

* Added NearDuplicatesManager

* Updated zscores to be vectorized

* Separated Light and Dark images

* Split summary and viz

* Print out the summary

* Changed the name of find_issues method

* Added new method for base class

* Fixed hot pixels detection

* Beautified print output

* Added incorrect zscore

* Fixed normalized score [0-1]

* Fixed scoring

* Added basic multithreading for image open

* Added clearer imagelab.visualize() outputs

* VERY JANKY: Images visualized in sorted order

* Resolved dark images questionable merge conflict

* entropy scaling changed

* Added threshold

Fixed duplicate and near duplicate

* Fixed all thresholds except hot pixels

* Added demo notebook on test dataset

* Added qualitative results for multiple datasets

* creating CI workflows & documentation about the repo (#30)



Co-authored-by: Jonas Mueller <[email protected]>

* Code refactoring according to Datalab structure (#31)

* Refactoring code according to  Datalab structure
* Formatted using black codestyle

* Update README.md to baseline for public package

* community pointers

* Update README.md with pr comment

Co-authored-by: Jonas Mueller <[email protected]>

* Update README.md with pr comment

Co-authored-by: Jonas Mueller <[email protected]>

* Update README.md with pr comment

Co-authored-by: Jonas Mueller <[email protected]>

* Update README.md with pr comment

Co-authored-by: Jonas Mueller <[email protected]>

* Added s3 download link

* add clean-vision logo (#49)

* wording

* Added check for white images (#34)

* Changes
- Added visualization manager for different kinds of visualization
- Added check for light images that reuses compute
- Updated demo notebook

* Added different examples in run.py on how to use imagelab'

* Modified code to run imagelab.find_issues() incrementally

* Resolved PR comment

* Changed image_path column to an index for issues dataframe

* Changed ImageProperty to be a constant string

* Updated comment

* change skip_set to defer_set

* Small refactoring

* Changed hyperparameter to dictionary

* Bug fixes

* Added _set_default_config method

* Moved non user facing files to utils

* Added issue_name variable to issue_manager

* Changed verbosity to an int argument which sets the default args for report

* Changed issue manager to a python property

* fix: 🩹 remove classmethod from issue_name property

Chaining @classmethod and @Property results is deprecated (removed in python 3.11).
Setting a class variable for concrete classes should work just fine.

* style: 🎨 invert threshold condition

The main logic of the `set_hyperparameters` method is no longer nested.

* style: 🎨 rename parrameter in `update_summary`

The `summary` attribute is a dataframe, while the parameter (with the same name) is a dictionary. Renaming the parameter should avoid any confusion.

* refactor: 🔥 remove unnessary dataframe initialization

the `issues` dataframe is already created when instantiating the issue manager.

* style: ⚰️ remove commented line in __init__

* refactor: ♻️ remove unused variables/parameters

* refactor: ♻️ iterrows -> itertuples

This allows us to remove the unused index in the iterator.

* style: 🎨 apply black formatter

* style: 🚨 drop f-string formatting for string without a placeholder

* Added back dataframe initialization

Co-authored-by: Elías Snorrason <[email protected]>

* Test image property helpers and split functions. (#35)

* refactor: ♻️ extract brightness calculation to a separate function

Use more descriptive variable names for unpacked RGB-values.

* refactor: ⚰️ remove unused __init__ method in ABC

* fix: 🩹 fix import of IssueType

* test: ✅ add full test coverage for image property helpers

Hacky way to mock the ImageStat.Stat class for grayscale & RGB images.

* style: 🎨 update formatting

* fix: 🥅 catch ValueError instead of IndexError for unpacking

Co-authored-by: Sanjana Garg <[email protected]>
Co-authored-by: Sanjana Garg <[email protected]>

* Name change (#53)

* Renamed library to cleanvision

* update readme to reflect package name change

assumes github project will also be renamed cleanvision as well

* Fix name convention in ci job title

* Update to CleanVision in DEVELOPMENT.md

* Updated CONTRIBUTING and issue templates

* Fixed bug report name-change

* Updated tests

Co-authored-by: Jonas Mueller <[email protected]>
Co-authored-by: Ulyana <[email protected]>
Co-authored-by: Ulyana <[email protected]>

* add copyright statement

* CI workflow update (#56)

* Update CI workflow

* Moved setup python environment code to script

* Update run script command

* Made bash script executable

* Updated shell to bash

* changed script run command in typecheck job'

* Custom issue (#55)

* Changes
- Added visualization manager for different kinds of visualization
- Added check for light images that reuses compute
- Updated demo notebook

* Added different examples in run.py on how to use imagelab'

* Modified code to run imagelab.find_issues() incrementally

* Resolved PR comment

* Changed image_path column to an index for issues dataframe

* Changed ImageProperty to be a constant string

* Updated comment

* change skip_set to defer_set

* Small refactoring

* Changed hyperparameter to dictionary

* Bug fixes

* Added _set_default_config method

* Moved non user facing files to utils

* Added issue_name variable to issue_manager

* Changed verbosity to an int argument which sets the default args for report

* Changed issue manager to a python property

* Added custom_issue_manager

* Added list_issues methods

* Added register decorator for issue_managers

* Added todos of making changes for setting parameters

* Create new issue managers everytime an issue is checked

* Added parameter processing in issue_manager

* Fixed bugs

* Added visualization for custom issue

* Updated package dependency

* Formatted setup.py

* Added example of list_default_issue_types and list_possible_issue_types

* Moved viz method out of if else:

* Renamed initialize_params to set_params

* Fixed bug in imagelab._update_issues

* Added get_stats method

* Removed unnecessary variable

* Forward slash not supported by python3.7

* removed unused import

* Deleted empty file for IssueManagerFactory and removed unused imports

* Removed blank line

* Updated dependencies and their versions compatible

* added suggested comment

* Updated imagelab examples

* comment suggestion

Co-authored-by: Elías Snorrason <[email protected]>

* commit suggestion

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Remove unnecessary else

* black formatting

* Update cleanvision/issue_managers/__init__.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/issue_managers/image_property_issue_manager.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/issue_managers/__init__.py

Co-authored-by: Elías Snorrason <[email protected]>

* Removed imagelab_info param keep example simple

* Revert "Removed imagelab_info param keep example simple"

This reverts commit 3b783bded82bd44070c87d0ac1543b2b24a282f4.

* Added aspect ratio issue check (#57)

* Added aspect ratio issue check

* refactoring: renamed **helper to **property

* Entropy check (#58)

* Added LowComplexity check, converted params into dict for image_property_issue_manager

* Remove unused lines

* Update cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed LowComplexity to LowInformation

* Changed enum name

* Fixed tests

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed ExtremeAspectRatio to OddAspectRatio

* bug fix: deep update info dict in imagelab

* Added abstractmethod get_default_params

* Changed issue_type strings to snake_case

Co-authored-by: Jonas Mueller <[email protected]>

* Duplicates check (#61)

* Added aspect ratio issue check

* refactoring: renamed **helper to **property

* Entropy check (#58)

* Added LowComplexity check, converted params into dict for image_property_issue_manager

* Remove unused lines

* Update cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed LowComplexity to LowInformation

* Changed enum name

* Fixed tests

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed ExtremeAspectRatio to OddAspectRatio

* bug fix: deep update info dict in imagelab

* Added abstractmethod get_default_params

* Changed issue_type strings to snake_case

* Added duplicate images checks: exact duplicates and near duplicates

* Fixed all bugs in duplicate issue manager

* removed unnecessary code

* Substituted _LITERAL with type annotations

Co-authored-by: Jonas Mueller <[email protected]>

* Moved custom_issue_manager.py to examples/

Co-authored-by: Elías Snorrason <[email protected]>
Co-authored-by: Jonas Mueller <[email protected]>

* Added ignore to libraries missing official mypy stubs

* backwards pandas compatibility

* Fixed typing in base_issue_manager.py

* Fixed typing in constants.py

* Fix typing for viz_manager.py

* black format + remove unused functions

* Fixed typing in issue_managers/__init__.py

* Added blurriness check (#65)

* Changes
- Added visualization manager for different kinds of visualization
- Added check for light images that reuses compute
- Updated demo notebook

* Added different examples in run.py on how to use imagelab'

* Modified code to run imagelab.find_issues() incrementally

* Resolved PR comment

* Changed image_path column to an index for issues dataframe

* Changed ImageProperty to be a constant string

* Updated comment

* change skip_set to defer_set

* Small refactoring

* Changed hyperparameter to dictionary

* Bug fixes

* Added _set_default_config method

* Moved non user facing files to utils

* Added issue_name variable to issue_manager

* Changed verbosity to an int argument which sets the default args for report

* Changed issue manager to a python property

* Added custom_issue_manager

* Added list_issues methods

* Added register decorator for issue_managers

* Added todos of making changes for setting parameters

* Create new issue managers everytime an issue is checked

* Added parameter processing in issue_manager

* Fixed bugs

* Added visualization for custom issue

* Updated package dependency

* Formatted setup.py

* Added example of list_default_issue_types and list_possible_issue_types

* Moved viz method out of if else:

* Renamed initialize_params to set_params

* Fixed bug in imagelab._update_issues

* Added get_stats method

* Removed unnecessary variable

* Forward slash not supported by python3.7

* removed unused import

* Deleted empty file for IssueManagerFactory and removed unused imports

* Removed blank line

* Updated dependencies and their versions compatible

* added suggested comment

* Updated imagelab examples

* comment suggestion

Co-authored-by: Elías Snorrason <[email protected]>

* commit suggestion

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Remove unnecessary else

* black formatting

* Update cleanvision/issue_managers/__init__.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/issue_managers/image_property_issue_manager.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/issue_managers/__init__.py

Co-authored-by: Elías Snorrason <[email protected]>

* Removed imagelab_info param keep example simple

* Revert "Removed imagelab_info param keep example simple"

This reverts commit 3b783bded82bd44070c87d0ac1543b2b24a282f4.

* Added aspect ratio issue check (#57)

* Added aspect ratio issue check

* refactoring: renamed **helper to **property

* Entropy check (#58)

* Added LowComplexity check, converted params into dict for image_property_issue_manager

* Remove unused lines

* Update cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed LowComplexity to LowInformation

* Changed enum name

* Fixed tests

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed ExtremeAspectRatio to OddAspectRatio

* bug fix: deep update info dict in imagelab

* Added abstractmethod get_default_params

* Changed issue_type strings to snake_case

Co-authored-by: Jonas Mueller <[email protected]>

* Duplicates check (#61)

* Added aspect ratio issue check

* refactoring: renamed **helper to **property

* Entropy check (#58)

* Added LowComplexity check, converted params into dict for image_property_issue_manager

* Remove unused lines

* Update cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed LowComplexity to LowInformation

* Changed enum name

* Fixed tests

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed ExtremeAspectRatio to OddAspectRatio

* bug fix: deep update info dict in imagelab

* Added abstractmethod get_default_params

* Changed issue_type strings to snake_case

* Added duplicate images checks: exact duplicates and near duplicates

* Fixed all bugs in duplicate issue manager

* removed unnecessary code

* Substituted _LITERAL with type annotations

Co-authored-by: Jonas Mueller <[email protected]>

* Moved custom_issue_manager.py to examples/

* Added issue_type Blurred

* Added blurred image property

* Removed dependency on IssueType enum key to reduce steps for adding custom issue manager

* Added issue_types argument in imagelab.report()

* Changed image_property names to snake_case

* Updated example script and notebook

* Added check for grayscale images (#66)

* Renamed Blurred to Blurry

Co-authored-by: Elías Snorrason <[email protected]>
Co-authored-by: Jonas Mueller <[email protected]>

* Removed redundant code (#71)

* fixed issue manager to pass mypy

* Added ignore type into .mypy.init

* Addressed comments with base issue manager

* Address pandas <1.5.0 compatibility  (#70)

* changed reset_index() function to pandas<1.5.0 version

* black compatibility

* Fixed merge issue (removed two issue_mannagers

* Fixed black formatting

* Added table of issues to Readme (#75)

* Added table of issues to Readme

* Update README.md

Co-authored-by: Jonas Mueller <[email protected]>

* Update README.md

Co-authored-by: Jonas Mueller <[email protected]>

* Update README.md

Co-authored-by: Jonas Mueller <[email protected]>

* Update README.md

Co-authored-by: Jonas Mueller <[email protected]>

* Update README.md

Co-authored-by: Jonas Mueller <[email protected]>

Co-authored-by: Jonas Mueller <[email protected]>

* Fix basic typing in image_property.py

* Improved function signatures image_property.py

* Removed deprecated image_dataset.py

* Corrected expected PIL type to Image.Image

* Fixed image_property_issue_manager.py typing

* Fixed typing duplicate_issue_manager.py

* Figure out Liskzov principal violation

* Addressed small typing utils/viz

* Fixed typing in imagelab.py

 * Added required params to IssueManager

* Added ignore type for np.diff

* Removed unused imports

* Fix typecheck

* Unit tests for methods of ImagePropertyIssueManager and DupicateIssueManager (#74)

* Adding tests for image property issue manager

* Added test for image_property_issue_manager.set_params()

* Added test for image_property_issue_manager._get_defer_set()

* Changed structure of init method to be more consistent

* Fixed tests

* Added tests for methods in DuplicateIssueManager

* Added test for DuplicateIssueManager._get_issue_types_to_compute

* Added unit tests for duplicate issue manager

* Fixed bugs after tests

* Updated comments

* black formatting

* Updated documentation for test_update_info in test_duplicate_issue_manager.py

* Improved ids

* Updated test_remove_exact_duplicates_from_near

* Removed redundant test cases

* Changed constants to all caps

* Added a before check for set_params test

* Added ids for tests in TestImagePropertyIssueManager

* added before check for set_params() test

* refactor: 🏷️ remove self: TypeVar(...) type-hints

None of the type parameters occur more than once in a signature.

Also removed unused VizManager initializer.

* refactor: 🚨 remove unused "type: ignore" comment

* refactor: 🏷️ wrap type of cmap in Optional

cmap has a default value of None

* refactor: ♻️ declare `visualization` and `issue_name` as class variables

* fix: 🐛 fix pd.Series type which is not subscriptable

* fix: ✅ pass raw_scores as keyword arguments

ImageProperty.get_scores only accepts keyword arguments.
Test error was: "TypeError: BrightnessProperty.get_scores() takes 1 positional argument but 2 were given"

* Address pr comments

* Black formatting

* Fix merge issue

* Fixed black, lint

* Fixed mypy broken by merge

* Added save and load functionality (#77)

* Adding tests for image property issue manager

* Added test for image_property_issue_manager.set_params()

* Added test for image_property_issue_manager._get_defer_set()

* Changed structure of init method to be more consistent

* Fixed tests

* Added tests for methods in DuplicateIssueManager

* Added test for DuplicateIssueManager._get_issue_types_to_compute

* Added unit tests for duplicate issue manager

* Fixed bugs after tests

* Updated comments

* black formatting

* Updated documentation for test_update_info in test_duplicate_issue_manager.py

* Improved ids

* Updated test_remove_exact_duplicates_from_near

* Removed redundant test cases

* Changed constants to all caps

* Added a before check for set_params test

* Added ids for tests in TestImagePropertyIssueManager

* added before check for set_params() test

* Added save and load functionality

* Adding documentation on how to use cleanvision

* Added detailed instructions on how to use Imagelab

* Removed unnecessary file committed

* Apply suggestions from code review

Co-authored-by: Jonas Mueller <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Added check for invalid path and empty directory

* Removed duplicate line

* Updated demo notebook with Ulyana's comments

* Merge conflict remnants

* black formatting

---------

Co-authored-by: Jonas Mueller <[email protected]>
Co-authored-by: Elías Snorrason <[email protected]>

* Reorganize the readme (#81)

* test commit

* reorganize the readme

* Packaging (#83)

* Adding tests for image property issue manager

* Added test for image_property_issue_manager.set_params()

* Added test for image_property_issue_manager._get_defer_set()

* Changed structure of init method to be more consistent

* Fixed tests

* Added tests for methods in DuplicateIssueManager

* Added test for DuplicateIssueManager._get_issue_types_to_compute

* Added unit tests for duplicate issue manager

* Fixed bugs after tests

* Updated comments

* black formatting

* Updated documentation for test_update_info in test_duplicate_issue_manager.py

* Improved ids

* Updated test_remove_exact_duplicates_from_near

* Removed redundant test cases

* Changed constants to all caps

* Added a before check for set_params test

* Added ids for tests in TestImagePropertyIssueManager

* added before check for set_params() test

* Added save and load functionality

* Adding documentation on how to use cleanvision

* Added detailed instructions on how to use Imagelab

* Removed unnecessary file committed

* Apply suggestions from code review

Co-authored-by: Jonas Mueller <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Added check for invalid path and empty directory

* Removed duplicate line

* Updated demo notebook with Ulyana's comments

* Added pyproject.toml config for build

* Fixed missing dependency

* Specified filepath as a command line argument for example script

* Updated path in jupyter notebook

* Fixed CI pipeline

---------

Co-authored-by: Jonas Mueller <[email protected]>
Co-authored-by: Elías Snorrason <[email protected]>

* Add basic docs build

* Add readthedocs to CI

* Added url slug to docs preview

* test

* test 2

* Add correct project slug

* Add readthedocs conf to root

* multiprocessing

* fix bugs

* typing and black

* psutil handling, plus some typing errs

* add back calculate brightness

* Save

* Added basic documentation (no formating)

* Add requirements.txt for docs build

* Mypy annotations (#85)

* fixed mypy errors

* Updated compute summary of duplicate issue manager

* Fixed mypy error

* Moved params from init to find_issues

* Black formatting

* Updated custom example

* Moved demo notebook to examples/

* Black formatting

* minor fixes

* fix black

* failed attempt at fixing mypy issue

* minor fixes

* Added visualize by filepaths functionality in imagelab.visualize() (#88)

* Added visualize by filepaths functionality in imagelab.visualize()

* black formatting

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update examples/run.py

Co-authored-by: Jonas Mueller <[email protected]>

* Comment updates

* Comment updates

* Fixed formatting and mypy errors

* Change python environment of mypy check to reflect lowest version

* Removed pandas-stubs from dev requirements for these reasons
- compatible only with pytho3.8+
- Was giving wrong error for pd.Dataframe.from_dict() usage, the documentation also says it is narrower than what pandas allows

---------

Co-authored-by: Jonas Mueller <[email protected]>

* Add codecov for testing (#87)

* Update codecov to v3

* Fix correct directory point

* Point to correct test dir

* Install cleanvision correctly

* Change setup.py to always load package in editable mode

* Update .github/scripts/setup_python_env.sh

Co-authored-by: Sanjana <[email protected]>

* Update .github/workflows/ci.yml

Co-authored-by: Sanjana <[email protected]>

---------

Co-authored-by: Sanjana <[email protected]>

* Added sidebar + improve theme

* Updated dev guide (#93)

* Switch to furo

* Black formatting

* Add furo into requirements

* Fix embarassingly wrong spelling of instalation

* Add options for copybutton docs/source/conf.py

Co-authored-by: Elías Snorrason <[email protected]>

* Remove venv from quickstart install

Co-authored-by: Elías Snorrason <[email protected]>

* Update docs/source/cleanvision/imagelab.rst

Co-authored-by: Elías Snorrason <[email protected]>

* Update docs/source/index.rst

Co-authored-by: Elías Snorrason <[email protected]>

* Addressed comments

* remove benchmarking notebook, which will be in sandbox

* find_issues multiprocessing (#86)

* multiprocessing

* fix bugs

* typing and black

* psutil handling, plus some typing errs

* add back calculate brightness

* minor fixes

* fix black

* failed attempt at fixing mypy issue

* minor fixes

* remove benchmarking notebook, which will be in sandbox

* fix link to examples notebook

* Fix examples notebook link

* undoced memebers will autodoc

* Change source folder of package

* Update requirements.txt

* Add tqdm into requirements.txt

* Added next import

* Fixing autodoc "Any" class

* Give more max depth

* Update docs/source/conf.py

Co-authored-by: Sanjana <[email protected]>

* Added documentation link in readme (#96)



Co-authored-by: Jonas Mueller <[email protected]>

* Updated python version for mypy to 3.11 (#95)

* Bug fixes (#99)

* Fixed bug in gettin filepaths for nested dataset directories

* Fixed error in get_max_n_jobs

* Replaced ImageGrid with subplots as ImageGrid was cropping images weirdly, which skipped the main object in the image sometimes

* Fixed bug in kwargs type check for issue_manager.find_issues()

* Removed unused parameter cmap and handled showing a grid of just 1 image

* Removed unused import

* Added docstrings for Imagelab module, class, public methods and attributes (#91)

* Added docstrings for Imagelab() and get_filepaths()

* Added docstring for Imagelab._set_default_config()

* Added docstring for imagelab.visualize()

* Added docstrings in Imagelab.find_issues()

* Added spacing in visualize documentation

* Added docstrings for Imagelab.list_possible_issue_types()

* Added examples in Imagelab.visualize()

* Added docstrings for Imagelab.report()

* Added docstrings for Imagelab.load()

* Added docstrings for Imagelab class

* Added docstrings for imagelab.py module

* Fixed codeblock formatting

* Added docstring to Imagelab.save()

* Update src/cleanvision/utils/utils.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Added newline after code-block for proper formatting in sphinx documentation

* Improved docstrings

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Changed style of param type

* Added cross references

* Docstring formatting improvements

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Removed examlpes_per_issue argument from visualize

* Removed docstring for examples_per_issue

* Added argument filepaths to Imagelab()

* Renamed {issue_type}_bool column to is_{issue_type}_issue

* Fixed mypy annotations

* Added an argument to avoid overwriting files by default

* Removed multiple import lines from same package

* Removed an extra line

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Resolved comment

* Resolved comment

* Specify only one of data_path or filepaths, in all other cases throw ValueError

* Added documentation for n_jobs

* Improved docs formatting

* Improved docs formatting

* Fixed get_max_n_jobs

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Fixed flake8 error

* Fixed mypy error

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed allow_overwrite to force

* Updated imagelab.report()
- Removed num_top_issues argument as it is unnecessary and can be controlled by verbosity
- Changed max_prevalence to filter out issues in both cases where no issue_types are specified and also where issue_types are specified

* Filter issues first and then limit by number of issues to report

* Added print statement to indicate more issues were found

---------

Co-authored-by: Elías Snorrason <[email protected]>
Co-authored-by: Jonas Mueller <[email protected]>

* limit maximum number of procs in multiprocessing

* black style

* move max_procs def to utils/constants

---------

Co-authored-by: Ulyana <[email protected]>
Co-authored-by: krmayankb <[email protected]>
Co-authored-by: Jonas Mueller <[email protected]>
Co-authored-by: Chris Mauck <[email protected]>
Co-authored-by: Elías Snorrason <[email protected]>
Co-authored-by: Ulyana <[email protected]>
Co-authored-by: clu0 <[email protected]>
Co-authored-by: clu0 <[email protected]>
sanjanag added a commit that referenced this pull request Feb 27, 2023
…butes (#91)

* Added docstrings for Imagelab() and get_filepaths()

* Added docstring for Imagelab._set_default_config()

* Added docstring for imagelab.visualize()

* Added docstrings in Imagelab.find_issues()

* Added spacing in visualize documentation

* Added docstrings for Imagelab.list_possible_issue_types()

* Added examples in Imagelab.visualize()

* Added docstrings for Imagelab.report()

* Added docstrings for Imagelab.load()

* Added docstrings for Imagelab class

* Added docstrings for imagelab.py module

* Fixed codeblock formatting

* Added docstring to Imagelab.save()

* Update src/cleanvision/utils/utils.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Added newline after code-block for proper formatting in sphinx documentation

* Improved docstrings

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Changed style of param type

* Added cross references

* Docstring formatting improvements

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Removed examlpes_per_issue argument from visualize

* Removed docstring for examples_per_issue

* Added argument filepaths to Imagelab()

* Renamed {issue_type}_bool column to is_{issue_type}_issue

* Fixed mypy annotations

* Added an argument to avoid overwriting files by default

* Removed multiple import lines from same package

* Removed an extra line

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Resolved comment

* Resolved comment

* Specify only one of data_path or filepaths, in all other cases throw ValueError

* Added documentation for n_jobs

* Improved docs formatting

* Improved docs formatting

* Fixed get_max_n_jobs

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Fixed flake8 error

* Fixed mypy error

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed allow_overwrite to force

* Updated imagelab.report()
- Removed num_top_issues argument as it is unnecessary and can be controlled by verbosity
- Changed max_prevalence to filter out issues in both cases where no issue_types are specified and also where issue_types are specified

* Filter issues first and then limit by number of issues to report

* Added print statement to indicate more issues were found

---------

Co-authored-by: Elías Snorrason <[email protected]>
Co-authored-by: Jonas Mueller <[email protected]>
@sanjanag sanjanag deleted the docstrings branch February 27, 2023 19:31
sanjanag added a commit that referenced this pull request Feb 27, 2023
…butes (#91)

* Added docstrings for Imagelab() and get_filepaths()

* Added docstring for Imagelab._set_default_config()

* Added docstring for imagelab.visualize()

* Added docstrings in Imagelab.find_issues()

* Added spacing in visualize documentation

* Added docstrings for Imagelab.list_possible_issue_types()

* Added examples in Imagelab.visualize()

* Added docstrings for Imagelab.report()

* Added docstrings for Imagelab.load()

* Added docstrings for Imagelab class

* Added docstrings for imagelab.py module

* Fixed codeblock formatting

* Added docstring to Imagelab.save()

* Update src/cleanvision/utils/utils.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Elías Snorrason <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Added newline after code-block for proper formatting in sphinx documentation

* Improved docstrings

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Changed style of param type

* Added cross references

* Docstring formatting improvements

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Removed examlpes_per_issue argument from visualize

* Removed docstring for examples_per_issue

* Added argument filepaths to Imagelab()

* Renamed {issue_type}_bool column to is_{issue_type}_issue

* Fixed mypy annotations

* Added an argument to avoid overwriting files by default

* Removed multiple import lines from same package

* Removed an extra line

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Resolved comment

* Resolved comment

* Specify only one of data_path or filepaths, in all other cases throw ValueError

* Added documentation for n_jobs

* Improved docs formatting

* Improved docs formatting

* Fixed get_max_n_jobs

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Fixed flake8 error

* Fixed mypy error

* Update src/cleanvision/imagelab.py

Co-authored-by: Jonas Mueller <[email protected]>

* Renamed allow_overwrite to force

* Updated imagelab.report()
- Removed num_top_issues argument as it is unnecessary and can be controlled by verbosity
- Changed max_prevalence to filter out issues in both cases where no issue_types are specified and also where issue_types are specified

* Filter issues first and then limit by number of issues to report

* Added print statement to indicate more issues were found

---------

Co-authored-by: Elías Snorrason <[email protected]>
Co-authored-by: Jonas Mueller <[email protected]>
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