# Copyright (C) 2019 South Western Sydney Local Health District,
# University of New South Wales

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version (the "AGPL-3.0+").

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License and the additional terms for more
# details.

# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

# ADDITIONAL TERMS are also included as allowed by Section 7 of the GNU
# Affero General Public License. These additional terms are Sections 1, 5,
# 6, 7, 8, and 9 from the Apache License, Version 2.0 (the "Apache-2.0")
# where all references to the definition "License" are instead defined to
# mean the AGPL-3.0+.

# You should have received a copy of the Apache-2.0 along with this
# program. If not, see <http://www.apache.org/licenses/LICENSE-2.0>.

"""A tool to export DICOM objects from raw Pinnacle data:

>>> from pymedphys.labs.pinnacle import (
...     PinnacleExport,
...     PinnaclePlan,
...     PinnacleImage)

.. WARNING::
   The DICOM objects exported by this tool are not the same as the DICOM
   objects exported from within the Pinnacle application. Certain DICOM
   modalities correspond fairly well to the Pinnacle exported objects
   for some versions of Pinnacle. Others are not working as expected or
   have not been validated.

   The first step when using this tool is to compare the output generated
   to the 'ground truth' generated by your version(s) of Pinnacle. You can
   then determine if this tool currently meets your export needs, or if
   some adjustments need to be made. Please create an issue on the PyMedPhys
   GitHub describing the circumstances where the tool is not working,
   providing some sample raw Pinnacle data where possible. If you're up for
   a challenge, clone the PyMedPhys repository and attempt to solve the
   problem yourself! Don't be afraid to ask for help when contributing your
   changes. The more developers we can encourage to contribute to this tool,
   the sooner it will become stable and reliable.

   Finally, note that while this tool can be extremely useful for exporting
   large amounts of Pinnacle data to DICOM, we recommend that this should
   only be used for research purposes and not clinically.
"""

from .pinnacle import PinnacleExport
from .pinnacle_cli import export_cli
from .pinnacle_image import PinnacleImage
from .pinnacle_plan import PinnaclePlan
