
# DO NOT EDIT THIS FILE -- AUTOGENERATED BY PANTS
# Target: src/python/arcor2_calibration:arcor2_calibration_dist

from setuptools import setup

setup(**{
    'author': 'Robo@FIT',
    'author_email': 'imaterna@fit.vut.cz',
    'classifiers': [
        'Development Status :: 3 - Alpha',
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Build Tools',
        'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',
        'Programming Language :: Python :: 3.10',
        'Natural Language :: English',
        'Topic :: Scientific/Engineering',
    ],
    'description': 'ARCOR2 Calibration',
    'entry_points': {
        'console_scripts': [
            'arcor2_calibration = arcor2_calibration.scripts.calibration:main',
        ],
    },
    'install_requires': (
        'Flask~=2.2.3',
        'Pillow~=9.4.0',
        'PyYAML~=6.0',
        'arcor2_calibration_data~=1.0.0',
        'arcor2~=1.2.0',
        'dataclasses-jsonschema[apispec,fast-dateparsing,fast-uuid,fast-validation]~=2.16.0',
        'numpy-quaternion[numba,scipy]~=2022.4.3',
        'numpy~=1.23.5',
        'open3d==0.16.0',
        'opencv-contrib-python~=4.7.0.72',
        'setuptools~=66.0.0',
        'urdfpy~=0.0.22',
    ),
    'license': 'LGPL',
    'long_description': """# ARCOR2 Calibration service

### Example configuration

```yaml
id: Arbitrary text
marker_size: 0.1
markers:
  10:
    pose:
      position:
        x: 0
        y: 0
        z: 0
      orientation:
        x: 0
        y: 0
        z: 0
        w: 1
```

## Environment variables

- `ARCOR2_CALIBRATION_URL=http://0.0.0.0:5014` - by default, the service listens on port 5014.
- `ARCOR2_CALIBRATION_DEBUG=1` - switches logger to the `DEBUG` level.
- `ARCOR2_CALIBRATION_MOCK=1` - the service will start in a mock (simulator) mode.
- `ARCOR2_REST_API_DEBUG=1` - turns on Flask debugging (logs each endpoint call).
# Changelog

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [1.1.0] - 2024-02-07

### Changed

- Markers used to be from 7x7 dictionary, which is unnecessarily large, now a 4x4 dictionary of size 50 is used (use marker IDs 0..49).

## [1.0.0] - 2023-02-14

### Changed

- Marked as a stable version.
- Health check end-point changed to `/healthz/ready`.

## [0.9.0] - 2022-10-28

### Changed

- Switched to Python 3.10, updated dependencies.

## [0.8.0] - 2022-09-15

### Changed

- **BREAKING**: Implement new error handling flow. Error codes of **every** endpoint were replaced with error 
  types as described in swagger documentation.
- Updated to reflect changes in `cv2.aruco`.


## [0.7.0] - 2021-10-25

### Changed

- New environment variables: 
  - `ARCOR2_CALIBRATION_DEBUG` to turn on debugging.
  - `ARCOR2_CALIBRATION_MOCK` to start in mock mode.

## [0.6.1] - 2021-07-29

### Fixed

- Handle invalid input parameters (camera matrix).
- Scale down images to a common resolution before computing blur score.

## [0.6.0] - 2021-06-11
### Changed

- Improved quality estimation (take orientation into account).
- Reject blurry images.

## [0.5.0] - 2021-05-21
### Changed
- `PUT /calibrate/camera` now returns `EstimatedPose` (pose + quality).

### Fixed
- Command line arguments fixed.
  - It is mandatory to provide `-c` (path to a configuration file) or one of `-s` (prints OpenAPI) or `-m` (start as mock).

## [0.4.0] - 2021-04-26
### Changed
- The service now requires YAML configuration file where placement of markers is specified.
- There might be 1-n markers in an arbitrary pose.
- At least one of the configured markers should be visible.
- Un-configured markers are ignored.  
- Estimated poses of the camera from multiple detected markers are so far simply averaged.
- The average is weighted according to the camera-marker distance.

## [0.3.0] - 2021-03-30
### Changed
- `PUT /calibrate/camera` now has `inverse` parameter. 

## [0.2.0] - 2021-02-08
### Changed
- Part of the code refactored into `arcor2/flask.py`.
- API for getting pixel coordinates of markers corners.
  - Approx. three times faster than camera calibration.

## [0.1.1] - 2020-12-14
### Changed
- Bump version to allow reupload to pypi

## [0.1.0] - 2020-12-14
### Changed
- Initial release of the package.
- Support for camera calibration.
- Support for robot calibration.
  - URDF model of the robot needed.
  - Requires depth camera (e.g. Kinect).
- `--mock` argument to start the service in a simulation mode.""",
    'long_description_content_type': 'text/markdown',
    'name': 'arcor2_calibration',
    'namespace_packages': (
    ),
    'package_data': {
        'arcor2_calibration': (
            'VERSION',
            'py.typed',
        ),
    },
    'packages': (
        'arcor2_calibration',
        'arcor2_calibration.scripts',
    ),
    'python_requires': '==3.10.*',
    'version': '1.1.0',
})
