Source code for hvpy.api_groups.screenshots.take_screenshot
from typing import Optional
from datetime import datetime
from pydantic import field_validator
from hvpy.io import HvpyParameters, OutputType
from hvpy.utils import convert_date_to_isoformat
[docs]class takeScreenshotInputParameters(HvpyParameters):
"""
Handles the input parameters of the ``takeScreenshot`` API.
.. {Shared}
Attributes
----------
date
Desired datetime of the image.
imageScale
Image scale in arcseconds per pixel.
layers
Image datasource layer(s) to include in the screenshot.
events
List feature/event types and FRMs to use to annotate the movie.
Use the empty string to indicate that no feature/event annotations should be shown.
Default is `None`, optional.
eventLabels
Annotate each event marker with a text label.
Default is `False`, optional.
scale
Overlay an image scale indicator.
Default is `False`, optional.
scaleType
The Image scale indicator.
Default is `None`, optional.
scaleX
Horizontal offset of the image scale indicator in arcseconds with respect to the center of the Sun.
Default is `None`, optional.
scaleY
Vertical offset of the image scale indicator in arcseconds with respect to the center of the Sun.
Default is `None`, optional.
width
Width of the field of view in pixels.
Used in conjunction width ``x0``,``y0``, and ``height``.
Default is `None`, optional.
height
Height of the field of view in pixels.
Used in conjunction width ``x0``,``y0``, and ``width``.
Default is `None`, optional.
x0
The horizontal offset of the center of the field of view from the center of the Sun.
Used in conjunction with ``y0``, ``width``, and ``height``.
Default is `None`, optional.
y0
The vertical offset of the center of the field of view from the center of the Sun.
Used in conjunction with ``x0``, ``width``, and ``height``.
Default is `None`, optional.
x1
The horizontal offset of the top-left corner of the field of view with respect to the center of the Sun (in arcseconds).
Used in conjunction with ``y1``, ``x2``, and ``y2``.
Default is `None`, optional.
y1
The vertical offset of the top-left corner of the field of view with respect to the center of the Sun (in arcseconds).
Used in conjunction with ``x1``, ``x2``, and ``y2``.
Default is `None`, optional.
x2
The horizontal offset of the bottom-right corner of the field of view with respect to the center of the Sun (in arcseconds).
Used in conjunction with ``x1``, ``y1``, and ``y2``.
Default is `None`, optional.
y2
The vertical offset of the bottom-right corner of the field of view with respect to the center of the Sun (in arcseconds).
Used in conjunction with ``x1``, ``y1``, and ``x2``.
Default is `None`, optional.
display
Set to true to directly output binary PNG image data.
Default is `False` (which outputs a JSON object), optional.
watermark
Overlay a watermark consisting of a Helioviewer logo, the datasource abbreviation(s) and timestamp(s) displayed in the screenshot.
Default is `False`, optional.
Optional.
callback
Wrap the response object in a function call of your choosing.
Default is `None` (no wrapping), optional.
References
----------
* `<https://api.helioviewer.org/docs/v2/api/api_groups/screenshots.html#takescreenshot>`__
.. {Shared}
"""
date: datetime
imageScale: float
layers: str
events: Optional[str] = None
eventLabels: bool = False
scale: bool = False
scaleType: Optional[str] = None
scaleX: Optional[int] = None
scaleY: Optional[int] = None
width: Optional[int] = None
height: Optional[int] = None
x0: Optional[int] = None
y0: Optional[int] = None
x1: Optional[int] = None
y1: Optional[int] = None
x2: Optional[int] = None
y2: Optional[int] = None
display: bool = False
watermark: bool = False
callback: Optional[str] = None
_date_vaidator = field_validator("date")(convert_date_to_isoformat)
def get_output_type(self) -> OutputType:
"""
Returns the output type of the API call.
"""
return OutputType.RAW if self.display else OutputType.JSON