diff --git a/.gitignore b/.gitignore index 9a6fa45b1..513e8a388 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,4 @@ docroot/status.xml py_env py_venv_local_sunpy vendor +docroot/playground diff --git a/docs/src/Makefile b/docs/src/Makefile index b542bc9c0..34c5b7b13 100644 --- a/docs/src/Makefile +++ b/docs/src/Makefile @@ -10,6 +10,7 @@ BUILDDIR = build # Since sphinx forces an "html" folder with the documentation, we're going to # move all that content into the docs/v2 folder TARGET_DIR = ../../docroot/docs/v2 +PLAYGROUND_TARGET_DIR = $(TARGET_DIR)/playground # Put it first so that "make" without argument is like "make help". help: @@ -20,6 +21,9 @@ help: docs: html mkdir -p ${TARGET_DIR} cp -r ${BUILDDIR}/html/* ${TARGET_DIR} + cp openapi.yaml ${TARGET_DIR} + mkdir -p ${PLAYGROUND_TARGET_DIR} + cp -r playground/* ${PLAYGROUND_TARGET_DIR} # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). diff --git a/docs/src/openapi.yaml b/docs/src/openapi.yaml new file mode 100644 index 000000000..e887c8be1 --- /dev/null +++ b/docs/src/openapi.yaml @@ -0,0 +1,2408 @@ +openapi: 3.0.3 +info: + title: Helioviewer API + description: > + The Helioviewer API provides access to solar image data, JPEG2000 images, + movies, screenshots, and solar feature/event information from various + space observatories. + version: "2" + contact: + name: Helioviewer Project + url: https://helioviewer.org + email: webmaster@helioviewer.org +servers: + - url: https://api.helioviewer.org/v2 + description: Production server + - url: https://api.beta.helioviewer.org/v2 + description: Beta server + - url: https://helioviewer-api.ias.u-psud.fr/v2 + description: IAS Mirror + +tags: + - name: JPEG2000 + description: Access and download JPEG2000 solar image data + - name: Movies + description: Generate, queue, and download custom solar movies + - name: Screenshots + description: Generate and download custom solar screenshots + - name: Official Clients + description: Endpoints intended for use by official Helioviewer clients + - name: Solar Features & Events + description: Solar feature and event data from HEK and DONKI + - name: YouTube + description: Share movies to YouTube + - name: Website + description: Website utility endpoints + +paths: + + # ── JPEG2000 ───────────────────────────────────────────────────────────── + + /downloadImage/: + get: + tags: [JPEG2000] + summary: Download a colorized image + description: | + Download a specific JP2 image colorized and converted to PNG, JPG, or + WebP. If the requested size is larger than the source image, no + upscaling is performed. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/downloadImage/?id=189536650 `_ + operationId: downloadImage + parameters: + - name: id + in: query + required: true + description: ID of the image to download + schema: + type: integer + example: 189536650 + - name: width + in: query + required: false + description: > + Desired width of the resulting image. Takes priority over the + `scale` option. + schema: + type: integer + example: 1024 + - name: scale + in: query + required: false + description: > + Ratio of the original image size to the downloaded image size. + 1 = original, 2 = half size, 3 = one-third size, etc. + Ignored if `width` is provided. + schema: + type: integer + example: 4 + - name: type + in: query + required: false + description: "Output image format. Options: jpg, png, webp." + schema: + type: string + enum: [jpg, png, webp] + example: jpg + responses: + "200": + description: Image binary data + content: + image/png: + schema: + type: string + format: binary + image/jpeg: + schema: + type: string + format: binary + image/webp: + schema: + type: string + format: binary + + /getJP2Header/: + get: + tags: [JPEG2000] + summary: Get JP2 image XML header + description: | + Get the XML header embedded in a JPEG2000 image, including the FITS + header and Helioviewer-specific metadata. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJP2Header/?id=189536650 `_ + operationId: getJP2Header + parameters: + - name: id + in: query + required: true + description: Unique JP2 image identifier + schema: + type: integer + example: 189536650 + - name: callback + in: query + required: false + description: Wrap the response in a named JavaScript function call (JSONP). + schema: + type: string + responses: + "200": + description: XML header string + content: + text/xml: + schema: + type: string + example: | + + ...... + + /getJP2Image: + get: + tags: [JPEG2000] + summary: Download JP2 image closest to a given date + description: | + Download the JP2 image for the specified datasource that is closest in + time to the requested date. By default returns binary JP2 data. Set + ``jpip=true`` for a JPIP URI, and additionally ``json=true`` for a JSON + response. + + **Example Request** — binary JP2 image data (default): + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14 `_ + + **Example Request** — JPIP URI as plain text: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14&jpip=true `_ + + **Example Request** — JPIP URI as JSON: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14&jpip=true&json=true `_ + operationId: getJP2Image + parameters: + - name: date + in: query + required: true + description: "Desired date/time of the JP2 image. ISO 8601 UTC format." + schema: + type: string + format: date-time + example: "2014-01-01T23:59:59Z" + - name: sourceId + in: query + required: true + description: Unique image datasource identifier. + schema: + type: integer + example: 14 + - name: jpip + in: query + required: false + description: Return a JPIP URI instead of binary image data. + schema: + type: boolean + default: false + - name: json + in: query + required: false + description: Return a JSON object (only meaningful when `jpip=true`). + schema: + type: boolean + default: false + responses: + "200": + description: JP2 binary data, a JPIP URI string, or a JSON object. + content: + image/jp2: + schema: + type: string + format: binary + text/plain: + schema: + type: string + example: "jpip://api.helioviewer.org:8090/AIA/2014/01/02/335/2014_01_02__00_00_02_62__SDO_AIA_AIA_335.jp2" + application/json: + schema: + type: object + properties: + uri: + type: string + description: JPIP protocol link to JP2 image. + example: + uri: "jpip://api.helioviewer.org:8090/AIA/2014/01/02/335/2014_01_02__00_00_02_62__SDO_AIA_AIA_335.jp2" + + /getJPX/: + get: + tags: [JPEG2000] + summary: Generate and download a JPX movie + description: | + Generate and optionally download a custom JPX movie for the specified + datasource. Without ``jpip`` or ``verbose``, returns binary JPX data. + + **Example Request** — binary JPX movie data: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14 `_ + + **Example Request** — JPIP URI as plain text: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&jpip=true `_ + + **Example Request** — JPIP URI in JSON with frame timestamps: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&jpip=true&verbose=true `_ + + **Example Request** — HTTP URI in JSON with frame timestamps: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&verbose=true `_ + operationId: getJPX + parameters: + - name: startTime + in: query + required: true + description: "Start date/time of the JPX movie. ISO 8601 UTC format." + schema: + type: string + format: date-time + example: "2014-01-01T00:00:00Z" + - name: endTime + in: query + required: true + description: "End date/time of the JPX movie. ISO 8601 UTC format." + schema: + type: string + format: date-time + example: "2014-01-01T00:45:00Z" + - name: sourceId + in: query + required: true + description: Unique image datasource identifier. + schema: + type: integer + example: 14 + - name: linked + in: query + required: false + description: > + Generate a linked JPX file containing image pointers rather than + full frame data. + schema: + type: boolean + default: false + - name: verbose + in: query + required: false + description: > + Include frame timestamps and warning messages in the JSON response. + schema: + type: boolean + default: false + - name: jpip + in: query + required: false + description: Return a JPIP URI instead of binary data. + schema: + type: boolean + default: false + - name: cadence + in: query + required: false + description: > + Desired time (in seconds) between each frame. If omitted, the + server selects an optimal cadence. + schema: + type: integer + example: 12 + responses: + "200": + description: JPX binary data, a JPIP URI string, or a JSON object. + content: + image/jpx: + schema: + type: string + format: binary + text/plain: + schema: + type: string + example: "jpip://api.helioviewer.org:8090/movies/SDO_AIA_335_F2014-01-01T00.00.00Z_T2014-01-01T00.45.00Z.jpx" + application/json: + schema: + $ref: '#/components/schemas/JpxResponse' + example: + message: "Movie cadence has been changed to one image every 1284 seconds in order to avoid exceeding the maximum allowed number of frames (1000) between the requested start and end dates." + uri: "http://api.helioviewer.org/jp2/movies/SOHO_MDI_MDI_magnetogram_F2003-10-05T00.00.00Z_T2003-10-20T00.00.00ZB1L.jpx" + frames: [1065323703, 1065329463, 1066602183, 1066607943] + + /getJPXClosestToMidPoint/: + get: + tags: [JPEG2000] + summary: Generate a JPX movie with one frame per time interval + description: | + Generate a JPX movie with one frame per pair of startTimes/endTimes, + selecting the image closest to the midpoint of each interval. + Maximum 360 timestamps per request. + + **Example Request** — binary JPX movie data: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJPXClosestToMidPoint/?startTimes=1306886400,1306887000,1306887600&endTimes=1306886700,1306887300,1306887900&sourceId=14 `_ + + **Example Request** — JPIP URI in JSON: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getJPXClosestToMidPoint/?startTimes=1306886400,1306887000,1306887600&endTimes=1306886700,1306887300,1306887900&sourceId=14&jpip=true&verbose=true `_ + operationId: getJPXClosestToMidPoint + parameters: + - name: startTimes + in: query + required: true + description: > + Comma-separated Unix timestamps for the start of each interval + (max 360). + schema: + type: string + example: "1306886400,1306887000,1306887600" + - name: endTimes + in: query + required: true + description: > + Comma-separated Unix timestamps for the end of each interval + (max 360). + schema: + type: string + example: "1306886700,1306887300,1306887900" + - name: sourceId + in: query + required: true + description: Unique image datasource identifier. + schema: + type: integer + example: 14 + - name: linked + in: query + required: false + description: Generate a linked JPX file containing image pointers. + schema: + type: boolean + default: false + - name: verbose + in: query + required: false + description: Include frame timestamps and warnings in the JSON response. + schema: + type: boolean + default: false + - name: jpip + in: query + required: false + description: Return a JPIP URI instead of binary data. + schema: + type: boolean + default: false + responses: + "200": + description: JPX binary data, a JPIP URI string, or a JSON object. + content: + image/jpx: + schema: + type: string + format: binary + text/plain: + schema: + type: string + example: "jpip://api.helioviewer.org:8090/movies/SDO_AIA_335_F2011-06-01T00.00.00Z_T2011-06-01T00.25.00Z.jpx" + application/json: + schema: + $ref: '#/components/schemas/JpxResponse' + example: + frames: [1306886547, 1306887735] + message: null + uri: "jpip://api.helioviewer.org:8090/movies/SDO_AIA_335_F2011-06-01T00.00.00Z_T2011-06-01T00.25.00Z.jpx" + + /getStatus/: + get: + tags: [JPEG2000] + summary: Get JPEG2000 data ingestion status + description: | + Returns information about how far behind the latest available JPEG2000 + images are for each instrument. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getStatus/ `_ + operationId: getStatus + responses: + "200": + description: Status object keyed by instrument name. + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/InstrumentStatus' + example: + AIA: + time: "2021-12-08T10:01:57Z" + level: 5 + secondsBehind: 1745203 + measurement: "AIA 171" + + # ── MOVIES ─────────────────────────────────────────────────────────────── + + /queueMovie/: + get: + tags: [Movies] + summary: Queue a custom movie (GET) + description: | + Submit a request to the movie generation queue and receive a unique + Movie ID. Use ``getMovieStatus`` to poll for completion and + ``downloadMovie`` to retrieve the file. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/queueMovie/?startTime=2010-03-01T12:12:12Z&endTime=2010-03-04T12:12:12Z&layers=[3,1,100],[4,1,100]&events=[AR,HMI_HARP;SPoCA,1],[CH,all,1]&eventsLabels=false&imageScale=21.04&x1=-5000&y1=-5000&x2=5000&y2=5000 `_ + operationId: queueMovie + parameters: + - $ref: '#/components/parameters/movieStartTime' + - $ref: '#/components/parameters/movieEndTime' + - $ref: '#/components/parameters/movieLayers' + - name: events + in: query + required: true + description: > + Comma-separated list of feature/event type annotations + (e.g. `[AR,HMI_HARP;SPoCA,1],[CH,all,1]`). Use an empty string for + no annotations. + schema: + type: string + example: "[AR,HMI_HARP;SPoCA,1],[CH,all,1]" + - name: eventsLabels + in: query + required: true + description: Annotate each event marker with a text label. + schema: + type: boolean + example: false + - $ref: '#/components/parameters/movieImageScale' + - $ref: '#/components/parameters/movieFormat' + - $ref: '#/components/parameters/movieFrameRate' + - $ref: '#/components/parameters/movieMaxFrames' + - $ref: '#/components/parameters/movieScale' + - $ref: '#/components/parameters/movieScaleType' + - $ref: '#/components/parameters/movieScaleX' + - $ref: '#/components/parameters/movieScaleY' + - $ref: '#/components/parameters/movieLength' + - $ref: '#/components/parameters/movieWatermark' + - $ref: '#/components/parameters/movieWidth' + - $ref: '#/components/parameters/movieHeight' + - $ref: '#/components/parameters/movieX0' + - $ref: '#/components/parameters/movieY0' + - $ref: '#/components/parameters/movieX1' + - $ref: '#/components/parameters/movieY1' + - $ref: '#/components/parameters/movieX2' + - $ref: '#/components/parameters/movieY2' + - $ref: '#/components/parameters/callback' + - $ref: '#/components/parameters/movieSize' + - $ref: '#/components/parameters/movieIcons' + - $ref: '#/components/parameters/followViewport' + - $ref: '#/components/parameters/reqObservationDate' + responses: + "200": + description: Queued movie response. + content: + application/json: + schema: + $ref: '#/components/schemas/QueueMovieResponse' + example: + id: z6vX5 + eta: 376 + queue: 0 + token: 50e0d98f645b42d159ec1c8a1e15de3e + + /postMovie/: + post: + tags: [Movies] + summary: Queue a custom movie (POST) + description: | + Create a custom movie by submitting a JSON body to the movie generation + queue. Returns a unique Movie ID. + + **Example Request Body** + + .. code-block:: json + + { + "startTime": "2010-03-01T12:12:12Z", + "endTime": "2010-03-04T12:12:12Z", + "imageScale": 21.04, + "layers": "[3,1,100]", + "eventsState": { + "tree_HEK": { + "labels_visible": true, + "layers": [ + { + "event_type": "flare", + "frms": ["frm10", "frm20"], + "event_instances": ["flare--frm1--event1", "flare--frm2--event2"] + } + ] + } + }, + "x1": -5000, + "y1": -5000, + "x2": 5000, + "y2": 5000 + } + operationId: postMovie + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PostMovieRequest' + responses: + "200": + description: Queued movie response. + content: + application/json: + schema: + $ref: '#/components/schemas/QueueMovieResponse' + example: + id: z6vX5 + eta: 376 + queue: 0 + token: 50e0d98f645b42d159ec1c8a1e15de3e + + /reQueueMovie/: + get: + tags: [Movies] + summary: Re-generate an expired movie + description: | + Re-generate a custom movie that is no longer cached on disk. Use the + returned Movie ID with ``getMovieStatus`` and ``downloadMovie``. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/reQueueMovie/?id=w1Pj5 `_ + operationId: reQueueMovie + parameters: + - name: id + in: query + required: true + description: Unique movie identifier. + schema: + type: string + example: w1Pj5 + - name: force + in: query + required: false + description: Force rebuild even if a cached copy exists. + schema: + type: boolean + default: false + responses: + "200": + description: Queued movie response. + content: + application/json: + schema: + $ref: '#/components/schemas/QueueMovieResponse' + example: + id: w1Pj5 + eta: 285 + queue: 0 + token: 4673d6db4e2a3365ab361267f2a9a112 + + /getMovieStatus/: + get: + tags: [Movies] + summary: Check movie generation status + description: | + Returns metadata and generation status for a user-generated movie. + Status codes: 0=queued, 1=processing, 2=finished, 3=invalid. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getMovieStatus/?id=w1Pj5&format=mp4 `_ + + **Example Request** — verbose with JSONP callback: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getMovieStatus/?id=w1Pj5&format=webm&verbose=true&callback=callbackTest `_ + operationId: getMovieStatus + parameters: + - name: id + in: query + required: true + description: Unique movie identifier. + schema: + type: string + example: w1Pj5 + - name: format + in: query + required: true + description: Movie format. + schema: + type: string + enum: [mp4, webm] + example: mp4 + - name: verbose + in: query + required: false + description: Include extra metadata in the response. + schema: + type: boolean + default: false + - $ref: '#/components/parameters/callback' + - name: token + in: query + required: false + description: Handle to job in the movie builder queue. + schema: + type: string + responses: + "200": + description: Movie status object. + content: + application/json: + schema: + $ref: '#/components/schemas/MovieStatus' + example: + frameRate: 15 + numFrames: 175 + startDate: "2010-03-01 12:30:06" + status: 2 + endDate: "2010-03-04 12:06:06" + width: 476 + height: 476 + title: "SOHO EIT 304, SOHO LASCO C2 white-light (2010-03-01 12:30:06 - 12:06:06 UTC)" + thumbnails: + icon: "https://api.helioviewer.org/cache/movies/2026/06/25/w1Pj5/preview-icon.png" + small: "https://api.helioviewer.org/cache/movies/2026/06/25/w1Pj5/preview-small.png" + medium: "https://api.helioviewer.org/cache/movies/2026/06/25/w1Pj5/preview-medium.png" + large: "https://api.helioviewer.org/cache/movies/2026/06/25/w1Pj5/preview-large.png" + full: "https://api.helioviewer.org/cache/movies/2026/06/25/w1Pj5/preview-full.png" + url: "https://api.helioviewer.org/cache/movies/2026/06/25/w1Pj5/2010_03_01_12_30_06_2010_03_04_12_06_06_EIT_304__LASCO_C2.mp4" + statusLabel: Completed + + /downloadMovie/: + get: + tags: [Movies] + summary: Download a generated movie + description: | + Download a custom movie in mp4 or webm format. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/downloadMovie/?id=w1Pj5&format=mp4 `_ + operationId: downloadMovie + parameters: + - name: id + in: query + required: true + description: Unique movie identifier. + schema: + type: string + example: w1Pj5 + - name: format + in: query + required: true + description: Movie format. + schema: + type: string + enum: [mp4, webm] + example: mp4 + - name: hq + in: query + required: false + description: Download higher-quality version (mp4 only). + schema: + type: boolean + responses: + "200": + description: Movie binary data. + content: + video/mp4: + schema: + type: string + format: binary + video/webm: + schema: + type: string + format: binary + + /playMovie/: + get: + tags: [Movies] + summary: Get an HTML page with the movie embedded + description: | + Returns an HTML page with the requested movie embedded in a player. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/playMovie/?id=w1Pj5&format=mp4&hq=true `_ + operationId: playMovie + parameters: + - name: id + in: query + required: true + description: Unique movie identifier. + schema: + type: string + example: VXvX5 + - name: format + in: query + required: true + description: Movie format. + schema: + type: string + enum: [mp4, webm] + example: mp4 + - name: hq + in: query + required: false + description: Use higher-quality version (mp4 only). + schema: + type: boolean + - name: width + in: query + required: false + description: Width of the embedded player in pixels. + schema: + type: integer + example: 846 + - name: height + in: query + required: false + description: Height of the embedded player in pixels. + schema: + type: integer + example: 820 + responses: + "200": + description: HTML page with embedded movie player. + content: + text/html: + schema: + type: string + + # ── SCREENSHOTS ────────────────────────────────────────────────────────── + + /takeScreenshot/: + get: + tags: [Screenshots] + summary: Generate a custom screenshot (GET) + description: | + Generate a custom screenshot. Specify the field of view using either + (``x1``, ``y1``, ``x2``, ``y2``) or (``x0``, ``y0``, ``width``, + ``height``). By default returns a JSON object with a screenshot ``id``; + set ``display=true`` to receive the PNG binary directly. + + **Example Request** — JSON response with screenshot ID: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/takeScreenshot/?date=2014-01-01T23:59:59Z&imageScale=2.4204409&layers=[SDO,AIA,AIA,335,1,100]&events=[AR,HMI_HARP;SPoCA,1],[CH,all,1]&eventsLabels=false&x0=0&y0=0&width=1920&height=1200 `_ + + **Example Request** — PNG binary directly: + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/takeScreenshot/?imageScale=2.4204409&layers=[SDO,AIA,AIA,304,1,100]&events=[CH,all,1]&eventLabels=true&scale=true&scaleType=earth&scaleX=0&scaleY=0&date=2014-02-25T15:53:00.136Z&x1=-929.2475775696686&x2=106.70112763033143&y1=-970.7984919973343&y2=486.3069298026657&display=true&watermark=true `_ + operationId: takeScreenshot + parameters: + - $ref: '#/components/parameters/screenshotDate' + - $ref: '#/components/parameters/screenshotImageScale' + - $ref: '#/components/parameters/screenshotLayers' + - name: events + in: query + required: false + description: > + Feature/event annotations (e.g. `[AR,HMI_HARP;SPoCA,1],[CH,all,1]`). + schema: + type: string + - name: eventLabels + in: query + required: false + description: Annotate each event marker with a text label. + schema: + type: boolean + - $ref: '#/components/parameters/screenshotScale' + - $ref: '#/components/parameters/screenshotScaleType' + - $ref: '#/components/parameters/screenshotScaleX' + - $ref: '#/components/parameters/screenshotScaleY' + - $ref: '#/components/parameters/screenshotWidth' + - $ref: '#/components/parameters/screenshotHeight' + - $ref: '#/components/parameters/screenshotX0' + - $ref: '#/components/parameters/screenshotY0' + - $ref: '#/components/parameters/screenshotX1' + - $ref: '#/components/parameters/screenshotY1' + - $ref: '#/components/parameters/screenshotX2' + - $ref: '#/components/parameters/screenshotY2' + - $ref: '#/components/parameters/screenshotDisplay' + - $ref: '#/components/parameters/screenshotWatermark' + - $ref: '#/components/parameters/callback' + responses: + "200": + description: Screenshot ID or PNG binary. + content: + application/json: + schema: + $ref: '#/components/schemas/ScreenshotResponse' + example: + id: 3285980 + image/png: + schema: + type: string + format: binary + + /postScreenshot/: + post: + tags: [Screenshots] + summary: Generate a custom screenshot (POST) + description: | + Generate a custom screenshot via a JSON POST request. Specify the field + of view with (``x1``, ``y1``, ``x2``, ``y2``) or (``x0``, ``y0``, + ``width``, ``height``). Set ``display=true`` to receive the PNG binary + directly. + + **Example Request Body** — JSON response with screenshot ID: + + .. code-block:: json + + { + "date": "2014-01-01T23:59:59Z", + "imageScale": 2.4204409, + "layers": "[3,1,100]" + } + + **Example Request Body** — PNG binary directly: + + .. code-block:: json + + { + "date": "2014-01-01T23:59:59Z", + "imageScale": 2.4204409, + "layers": "[3,1,100]", + "display": true + } + operationId: postScreenshot + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PostScreenshotRequest' + responses: + "200": + description: Screenshot ID or PNG binary. + content: + application/json: + schema: + $ref: '#/components/schemas/ScreenshotResponse' + example: + id: 3285980 + image/png: + schema: + type: string + format: binary + + /downloadScreenshot/: + get: + tags: [Screenshots] + summary: Download a generated screenshot + description: | + Download a screenshot that was previously generated with ``takeScreenshot``. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/downloadScreenshot/?id=3240748 `_ + operationId: downloadScreenshot + parameters: + - name: id + in: query + required: true + description: Unique screenshot identifier. + schema: + type: integer + example: 3240748 + responses: + "200": + description: PNG image binary. + content: + image/png: + schema: + type: string + format: binary + + /getEclipseImage/: + get: + tags: [Screenshots] + summary: Generate a LASCO C2 eclipse image + description: | + Generates a grayscale image of LASCO C2 with a preset field of view. + Optionally shows a moon in place of the Sun. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getEclipseImage/ `_ + operationId: getEclipseImage + parameters: + - name: moon + in: query + required: false + description: Show a moon where the Sun would be. + schema: + type: boolean + responses: + "200": + description: PNG image file. + content: + image/png: + schema: + type: string + format: binary + + # ── OFFICIAL CLIENTS ───────────────────────────────────────────────────── + + /getClosestImage/: + get: + tags: [Official Clients] + summary: Find image metadata closest to a date/time + description: | + Find the image data closest to the requested date/time for a given + datasource. Returns metadata from the Helioviewer database and the + JPEG2000 XML header. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getClosestImage/?date=2014-01-01T23:59:59Z&sourceId=14 `_ + operationId: getClosestImage + parameters: + - name: date + in: query + required: true + description: "Desired date/time. ISO 8601 UTC format." + schema: + type: string + format: date-time + example: "2014-01-01T23:59:59Z" + - name: sourceId + in: query + required: true + description: Unique image datasource identifier. + schema: + type: integer + example: 14 + - $ref: '#/components/parameters/callback' + responses: + "200": + description: Image metadata object. + content: + application/json: + schema: + $ref: '#/components/schemas/ClosestImageResponse' + example: + id: 34205701 + date: "2014-01-02 00:00:02" + scale: 0.58996068317702 + scaleCorrection: 1.01701692521 + width: 4096 + height: 4096 + refPixelX: 2048.5 + refPixelY: 2048.5 + rsun: 1600 + sunCenterOffsetParams: [] + layeringOrder: 1 + + /getDataSources/: + get: + tags: [Official Clients] + summary: List available image datasources + description: | + Return a hierarchical list of available datasources. Set + ``verbose=true`` for a JHelioviewer-compatible format. Use ``enable`` + to include additional observatories in verbose mode. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getDataSources/ `_ + operationId: getDataSources + parameters: + - name: verbose + in: query + required: false + description: > + Output in JHelioviewer-compatible format (limits to SDO/SOHO by + default unless `enable` is specified). + schema: + type: boolean + default: false + - name: enable + in: query + required: false + description: > + Comma-separated list of additional observatories to enable in + verbose mode (e.g. `[Yohkoh,STEREO_A,STEREO_B]`). + schema: + type: string + example: "[Yohkoh,STEREO_A,STEREO_B]" + - $ref: '#/components/parameters/callback' + responses: + "200": + description: Hierarchical datasource tree. + content: + application/json: + schema: + type: object + description: > + Nested object keyed by observatory → instrument → detector + → measurement. Leaf nodes contain sourceId and date range. + example: + Hinode: + XRT: + Al_med: + Al_mesh: + end: "2007-05-09 09:50:35" + layeringOrder: 1 + nickname: "XRT Al_med/Al_mesh" + sourceId: 38 + start: "2006-11-02 10:25:55" + uiLabels: + - {label: Observatory, name: Hinode} + - {label: Instrument, name: XRT} + - {label: "Filter Wheel 1", name: Al_med} + - {label: "Filter Wheel 2", name: Al_mesh} + + /getTile/: + get: + tags: [Official Clients] + summary: Request a 512×512 image tile + description: | + Request a single 512×512 pixel PNG image tile for use in the + Helioviewer viewport. Obtain the image identifier via + ``getClosestImage``. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getTile/?id=36275490&x=-1&y=-1&imageScale=2.42044088 `_ + operationId: getTile + parameters: + - name: id + in: query + required: true + description: Unique image identifier. + schema: + type: integer + example: 36275490 + - name: x + in: query + required: true + description: Horizontal tile position. + schema: + type: integer + example: -1 + - name: y + in: query + required: true + description: Vertical tile position. + schema: + type: integer + example: -1 + - name: imageScale + in: query + required: true + description: Image scale in arcseconds per pixel. + schema: + type: number + format: double + example: 2.42044088 + - name: difference + in: query + required: false + description: | + Image difference type: + - 0: regular (default) + - 1: running difference + - 2: base difference + schema: + type: integer + enum: [0, 1, 2] + default: 0 + - name: diffCount + in: query + required: false + description: > + Amount of time units used for running difference. Works with + `diffTime`. + schema: + type: integer + example: 60 + - name: diffTime + in: query + required: false + description: | + Time unit for running difference: + - 1: Minutes + - 2: Hours + - 3: Days + - 4: Weeks + - 5: Month + - 6: Years + schema: + type: integer + enum: [1, 2, 3, 4, 5, 6] + - name: baseDiffTime + in: query + required: false + description: > + Date/time string for base difference images. Required when + `difference` is 1 or 2. + schema: + type: string + responses: + "200": + description: PNG tile image. + content: + image/png: + schema: + type: string + format: binary + + /shortenURL/: + get: + tags: [Official Clients] + summary: Shorten a Helioviewer URL + description: | + .. warning:: + + **This endpoint is obsolete and will go away in future versions** + + Shorten a Helioviewer.org URL using the bit.ly service. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/shortenURL/?queryString=date%3D2014-02-25T15%3A18%3A07.000Z%26imageScale%3D2.4204409%26imageLayers%3D%255BSDO%2CAIA%2CAIA%2C304%2C1%2C100%255D `_ + operationId: shortenURL + parameters: + - name: queryString + in: query + required: true + description: URL-encoded full Helioviewer URL to shorten. + schema: + type: string + - $ref: '#/components/parameters/callback' + responses: + "200": + description: Shortened URL details. + content: + application/json: + schema: + type: object + properties: + status_code: + type: integer + status_txt: + type: string + data: + type: object + properties: + long_url: + type: string + url: + type: string + hash: + type: string + global_hash: + type: string + new_hash: + type: integer + example: + status_code: 200 + status_txt: OK + data: + long_url: "http://helioviewer.org/?date=2014-02-25T15:18:07.000Z&imageScale=2.4204409&imageLayers=[SDO,AIA,AIA,304,1,100]" + url: "http://bit.ly/1hbCHMq" + hash: "1hbCHMq" + global_hash: "1hbCHMr" + new_hash: 0 + + # ── SOLAR FEATURES & EVENTS ────────────────────────────────────────────── + + /events: + get: + tags: [Solar Features & Events] + summary: Get solar feature and event data + description: | + Returns a list of HEK events in the Helioviewer event format. + Event-specific data conforms to the HEK Event Specification. + + When ``format=simpletree`` is requested, that flat payload is re-shaped into + a single-level map whose keys are ``SOURCE>>Label`` strings (one per known + event type for the requested sources) and whose values are arrays of the + matching events. Empty buckets are kept so the client can render the full + catalogue regardless of what's in the response. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/events/?startTime=2023-03-30T00:00:00Z `_ + + **Example simpletree Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/events/?startTime=2023-03-30T00:00:00Z&sources=HEK&format=simpletree `_ + + **Example flat Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/events/?startTime=2023-03-30T00:00:00Z&sources=HEK&format=flat `_ + operationId: getEvents + parameters: + - name: startTime + in: query + required: true + description: "Date/time to query events for. ISO 8601 UTC format." + schema: + type: string + format: date-time + example: "2023-01-01T00:00:00Z" + - name: sources + in: query + required: false + description: > + Comma-separated external data sources to query. Current options: + HEK, DONKI. If omitted, all sources are queried. + schema: + type: string + example: "HEK,DONKI" + - name: format + in: query + required: false + description: > + Output shape. ``tree`` (default) returns the legacy nested + category/group structure described in the Helioviewer event format. + ``simpletree`` buckets the flat response into a one-level + ``SOURCE>>Label`` map keyed by event type. ``flat`` returns the new + v1 per-source response (one object per event with no category + nesting). + schema: + type: string + enum: [tree, simpletree, flat] + default: tree + example: simpletree + responses: + "200": + description: Array of solar event groups. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EventGroup' + examples: + tree: + summary: Default tree format + value: + - name: Active Region + pin: AR + groups: + - name: NOAA SWPC Observer + contact: "http://www.swpc.noaa.gov/" + url: "N/A" + data: + - active: "true" + area_atdiskcenter: 213057280 + area_unit: km2 + ar_mcintoshcls: HAX + ar_mtwilsoncls: ALPHA + simpletree: + summary: format=simpletree + value: + "HEK>>Active Region": + - concept: Active Region + frm_name: NOAA SWPC Observer + path: "HEK>>Active Region>>NOAA SWPC Observer" + pin: AR + "HEK>>CME": [] + "HEK>>Coronal Hole": + - concept: Coronal Hole + frm_name: SPoCA + path: "HEK>>Coronal Hole>>SPoCA" + "HEK>>Flare": [] + "HEK>>Sunspot": [] + flat: + summary: format=flat + value: + - concept: Active Region + frm_name: NOAA SWPC Observer + path: "HEK>>Active Region>>NOAA SWPC Observer" + pin: AR + - concept: Coronal Hole + frm_name: SPoCA + path: "HEK>>Coronal Hole>>SPoCA" + + # ── YOUTUBE ────────────────────────────────────────────────────────────── + + /checkYouTubeAuth/: + get: + tags: [YouTube] + summary: Check YouTube authorization status + description: | + Check whether Helioviewer.org is authorized to interact with the + user's YouTube account via the current browser session. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/checkYouTubeAuth/ `_ + operationId: checkYouTubeAuth + parameters: + - $ref: '#/components/parameters/callback' + responses: + "200": + description: Boolean indicating authorization status. + content: + text/plain: + schema: + type: boolean + example: "false" + + /getYouTubeAuth/: + get: + tags: [YouTube] + summary: Initiate YouTube authorization + description: | + Redirect the user to a Google/YouTube OAuth authorization page so + Helioviewer can upload videos on their behalf. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getYouTubeAuth/?id=VXvX5&title=AIA%204500%20(2013-12-30%2016%3A00%3A07%20-%202014-01-27%2015%3A00%3A07%20UTC)&description=This%20movie%20was%20produced%20by%20Helioviewer.org&tags=SDO%2CAIA%2C4500&share=true `_ + operationId: getYouTubeAuth + parameters: + - name: id + in: query + required: true + description: Unique movie identifier. + schema: + type: string + example: VXvX5 + - name: title + in: query + required: true + description: Movie title. + schema: + type: string + - name: description + in: query + required: true + description: Movie description. + schema: + type: string + - name: tags + in: query + required: true + description: Comma-separated keyword tags. + schema: + type: string + example: "SDO,AIA,4500" + - name: share + in: query + required: false + description: Share the movie with the Helioviewer community. + schema: + type: boolean + default: false + responses: + "302": + description: Redirect to Google/YouTube OAuth authorization page. + headers: + Location: + schema: + type: string + example: "https://www.google.com/accounts/AuthSubRequest?next=http%3A%2F%2Fhelioviewer.org%2Fapi%2Findex.php%3Faction%3DuploadMovieToYouTube%26id%3DVXvX5%26html%3Dtrue&scope=http://gdata.youtube.com&secure=&session=1" + + /uploadMovieToYouTube/: + get: + tags: [YouTube] + summary: Upload a movie to YouTube + description: | + Share an existing user-generated movie to YouTube. + + **Example Request** + + .. code-block:: + + https://api.helioviewer.org/v2/uploadMovieToYouTube/?id=y9tX5&title=AIA+94+(2014-02-26+16%3A14%3A25+-+2014-02-27+15%3A37%3A49+UTC)&description=This+movie+was+produced+by+Helioviewer.org&tags=SDO%2CAIA%2C94&share=true + operationId: uploadMovieToYouTube + parameters: + - name: id + in: query + required: true + description: Unique movie identifier. + schema: + type: string + example: y9tX5 + - name: title + in: query + required: false + description: Movie title. + schema: + type: string + - name: description + in: query + required: false + description: Movie description. + schema: + type: string + - name: tags + in: query + required: false + description: Comma-separated keyword tags. + schema: + type: string + - name: share + in: query + required: false + description: Share the movie with the Helioviewer community. + schema: + type: boolean + - name: html + in: query + required: false + description: Output response as HTML instead of JSON. + schema: + type: boolean + default: false + responses: + "200": + description: Upload status. + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: + status: "upload in progress." + + /getUserVideos/: + get: + tags: [YouTube] + summary: List recently shared user videos + description: | + Get a list (newest first) of user-generated movies that have been + publicly shared to YouTube. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getUserVideos/?num=2 `_ + operationId: getUserVideos + parameters: + - name: num + in: query + required: false + description: Number of movies to return. Default is 10. + schema: + type: integer + default: 10 + example: 10 + - name: since + in: query + required: false + description: > + Truncate results if this date/time is reached. ISO 8601 UTC + format. + schema: + type: string + format: date-time + - name: force + in: query + required: false + description: Bypass cache to retrieve the most up-to-date data. + schema: + type: boolean + default: false + - $ref: '#/components/parameters/callback' + responses: + "200": + description: Array of shared user videos. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserVideo' + example: + - id: J5tX5 + url: "http://www.youtube.com/watch?v=x2VYjI1Eo3M" + thumbnails: + icon: "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-icon.png" + small: "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-small.png" + medium: "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-medium.png" + large: "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-large.png" + full: "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-full.png" + published: "2014-02-27 14:56:00" + - id: L5tX5 + url: "http://www.youtube.com/watch?v=h6Y6vhpKPRk" + thumbnails: + icon: "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-icon.png" + small: "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-small.png" + medium: "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-medium.png" + large: "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-large.png" + full: "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-full.png" + published: "2014-02-27 14:54:08" + + # ── WEBSITE ────────────────────────────────────────────────────────────── + + /getNewsFeed/: + get: + tags: [Website] + summary: Get the Helioviewer Project blog RSS feed + description: | + Returns the XML RSS feed of the official Helioviewer Project Blog. + + **Example Request** + + .. parsed-literal:: + + `https://api.helioviewer.org/v2/getNewsFeed/ `_ + operationId: getNewsFeed + parameters: + - $ref: '#/components/parameters/callback' + responses: + "200": + description: RSS XML feed. + content: + application/rss+xml: + schema: + type: string + example: | + + + + The Helioviewer Project Blog + http://blog.helioviewer.org + Explore your heliosphere + + Follow the Helioviewer Project on Twitter + http://blog.helioviewer.org/2014/01/28/follow-the-helioviewer-project-on-twitter/ + Tue, 28 Jan 2014 15:16:51 +0000 + The Helioviewer Project is now on Twitter, @Helioviewer. + + + + +# ── COMPONENTS ───────────────────────────────────────────────────────────── + +components: + + parameters: + + callback: + name: callback + in: query + required: false + description: Wrap the response object in a named JavaScript function call (JSONP). + schema: + type: string + + # Movie shared parameters + movieStartTime: + name: startTime + in: query + required: true + description: "Date/time of the first frame. ISO 8601 UTC format." + schema: + type: string + format: date-time + example: "2010-03-01T12:12:12Z" + + movieEndTime: + name: endTime + in: query + required: true + description: "Date/time of the final frame. ISO 8601 UTC format." + schema: + type: string + format: date-time + example: "2010-03-04T12:12:12Z" + + movieLayers: + name: layers + in: query + required: true + description: "Image datasource layer(s), e.g. `[3,1,100],[4,1,100]`." + schema: + type: string + example: "[3,1,100],[4,1,100]" + + movieImageScale: + name: imageScale + in: query + required: true + description: Image scale in arcseconds per pixel. + schema: + type: number + format: double + example: 21.04 + + movieFormat: + name: format + in: query + required: false + description: Movie format. Default is mp4. + schema: + type: string + enum: [mp4, webm] + default: mp4 + + movieFrameRate: + name: frameRate + in: query + required: false + description: Frames per second. Default is 15. + schema: + type: integer + default: 15 + + movieMaxFrames: + name: maxFrames + in: query + required: false + description: Maximum number of frames (may be capped by the server). + schema: + type: integer + example: 300 + + movieScale: + name: scale + in: query + required: false + description: Overlay an image scale indicator. + schema: + type: boolean + default: false + + movieScaleType: + name: scaleType + in: query + required: false + description: Type of image scale indicator. + schema: + type: string + example: earth + + movieScaleX: + name: scaleX + in: query + required: false + description: Horizontal offset of the scale indicator in arcseconds from Sun center. + schema: + type: number + example: -1000 + + movieScaleY: + name: scaleY + in: query + required: false + description: Vertical offset of the scale indicator in arcseconds from Sun center. + schema: + type: number + example: -500 + + movieLength: + name: movieLength + in: query + required: false + description: Movie length in seconds. + schema: + type: number + example: 4.3333 + + movieWatermark: + name: watermark + in: query + required: false + description: Overlay a Helioviewer.org watermark. Enabled by default. + schema: + type: boolean + default: true + + movieWidth: + name: width + in: query + required: false + description: Width of the field of view in pixels (used with x0, y0, height). + schema: + type: integer + example: 1920 + + movieHeight: + name: height + in: query + required: false + description: Height of the field of view in pixels (used with x0, y0, width). + schema: + type: integer + example: 1200 + + movieX0: + name: x0 + in: query + required: false + description: Horizontal offset of the field-of-view center from Sun center (arcseconds). + schema: + type: number + example: 0 + + movieY0: + name: y0 + in: query + required: false + description: Vertical offset of the field-of-view center from Sun center (arcseconds). + schema: + type: number + example: 0 + + movieX1: + name: x1 + in: query + required: false + description: Horizontal offset of the top-left corner from Sun center (arcseconds). + schema: + type: number + example: -5000 + + movieY1: + name: y1 + in: query + required: false + description: Vertical offset of the top-left corner from Sun center (arcseconds). + schema: + type: number + example: -5000 + + movieX2: + name: x2 + in: query + required: false + description: Horizontal offset of the bottom-right corner from Sun center (arcseconds). + schema: + type: number + example: 5000 + + movieY2: + name: y2 + in: query + required: false + description: Vertical offset of the bottom-right corner from Sun center (arcseconds). + schema: + type: number + example: 5000 + + movieSize: + name: size + in: query + required: false + description: | + Scale video to a preset size: + - 0: Original size (default) + - 1: 720p (HD Ready) + - 2: 1080p (Full HD) + - 3: 1440p (Quad HD) + - 4: 2160p (4K / Ultra HD) + schema: + type: integer + enum: [0, 1, 2, 3, 4] + default: 0 + + movieIcons: + name: movieIcons + in: query + required: false + description: Display other user-generated movies on the video. + schema: + type: integer + default: 0 + + followViewport: + name: followViewport + in: query + required: false + description: Rotate field of view with the Sun. + schema: + type: integer + default: 0 + + reqObservationDate: + name: reqObservationDate + in: query + required: false + description: Viewport time used when `followViewport` is enabled. + schema: + type: string + format: date-time + example: "2017-08-30T14:45:53.000Z" + + # Screenshot shared parameters + screenshotDate: + name: date + in: query + required: true + description: "Desired date/time of the image. ISO 8601 UTC format." + schema: + type: string + format: date-time + example: "2014-01-01T23:59:59Z" + + screenshotImageScale: + name: imageScale + in: query + required: true + description: Image scale in arcseconds per pixel. + schema: + type: number + format: double + example: 2.4204409 + + screenshotLayers: + name: layers + in: query + required: true + description: "Image datasource layer(s), e.g. `[3,1,100]`." + schema: + type: string + example: "[SDO,AIA,AIA,335,1,100]" + + screenshotScale: + name: scale + in: query + required: false + description: Overlay an image scale indicator. + schema: + type: boolean + default: false + + screenshotScaleType: + name: scaleType + in: query + required: false + description: Type of image scale indicator. + schema: + type: string + + screenshotScaleX: + name: scaleX + in: query + required: false + description: Horizontal offset of the scale indicator (arcseconds). + schema: + type: number + + screenshotScaleY: + name: scaleY + in: query + required: false + description: Vertical offset of the scale indicator (arcseconds). + schema: + type: number + + screenshotWidth: + name: width + in: query + required: false + description: Width of the field of view in pixels. + schema: + type: integer + + screenshotHeight: + name: height + in: query + required: false + description: Height of the field of view in pixels. + schema: + type: integer + + screenshotX0: + name: x0 + in: query + required: false + description: Horizontal offset of the field-of-view center (arcseconds). + schema: + type: number + + screenshotY0: + name: y0 + in: query + required: false + description: Vertical offset of the field-of-view center (arcseconds). + schema: + type: number + + screenshotX1: + name: x1 + in: query + required: false + description: Horizontal offset of the top-left corner (arcseconds). + schema: + type: number + example: -5000 + + screenshotY1: + name: y1 + in: query + required: false + description: Vertical offset of the top-left corner (arcseconds). + schema: + type: number + example: -5000 + + screenshotX2: + name: x2 + in: query + required: false + description: Horizontal offset of the bottom-right corner (arcseconds). + schema: + type: number + example: 5000 + + screenshotY2: + name: y2 + in: query + required: false + description: Vertical offset of the bottom-right corner (arcseconds). + schema: + type: number + example: 5000 + + screenshotDisplay: + name: display + in: query + required: false + description: Return PNG binary directly instead of a JSON ID object. + schema: + type: boolean + default: false + + screenshotWatermark: + name: watermark + in: query + required: false + description: Overlay a Helioviewer watermark. Enabled by default. + schema: + type: boolean + default: true + + schemas: + + JpxResponse: + type: object + required: [message, uri] + properties: + message: + type: string + nullable: true + description: Informational message (e.g. if cadence was overridden). + uri: + type: string + description: HTTP or JPIP protocol link to the JPX movie. + frames: + type: array + items: + type: integer + description: Unix timestamps of each frame. + + InstrumentStatus: + type: object + required: [time, level, secondsBehind, measurement] + properties: + time: + type: string + format: date-time + description: Timestamp of the latest available image. + level: + type: integer + description: Status level indicator. + secondsBehind: + type: integer + description: Seconds behind real-time. + measurement: + type: string + description: Human-readable measurement label. + + QueueMovieResponse: + type: object + required: [id, eta, queue, token] + properties: + id: + type: string + description: Unique movie identifier. + example: z6vX5 + eta: + type: integer + description: Estimated seconds until movie generation completes. + example: 376 + queue: + type: integer + description: Position in the movie generation queue. + example: 0 + token: + type: string + description: Handle to the job in the movie builder queue. + example: 50e0d98f645b42d159ec1c8a1e15de3e + + MovieStatus: + type: object + required: [status] + properties: + status: + type: integer + description: "0=queued, 1=processing, 2=finished, 3=invalid" + example: 2 + statusLabel: + type: string + example: Completed + frameRate: + type: integer + example: 15 + numFrames: + type: integer + example: 300 + startDate: + type: string + example: "2014-02-03 20:26:16" + endDate: + type: string + example: "2014-02-05 20:16:40" + width: + type: integer + example: 846 + height: + type: integer + example: 820 + title: + type: string + url: + type: string + description: Download URL for the movie. + thumbnails: + $ref: '#/components/schemas/MovieThumbnails' + duration: + type: number + description: Movie duration in seconds. + imageScale: + type: number + description: Image scale in arcseconds per pixel. + layers: + type: string + events: + type: string + timestamp: + type: string + x1: + type: number + y1: + type: number + x2: + type: number + y2: + type: number + + MovieThumbnails: + type: object + properties: + icon: + type: string + small: + type: string + medium: + type: string + large: + type: string + full: + type: string + + PostMovieRequest: + type: object + required: [startTime, endTime, imageScale, layers] + properties: + startTime: + type: string + format: date-time + example: "2010-03-01T12:12:12Z" + endTime: + type: string + format: date-time + example: "2010-03-04T12:12:12Z" + layers: + type: string + example: "[3,1,100]" + eventsState: + type: object + description: > + Optional feature/event annotation state. See the Helioviewer + events state documentation for structure details. + imageScale: + type: number + format: double + example: 21.04 + format: + type: string + enum: [mp4, webm] + default: mp4 + frameRate: + type: integer + default: 15 + maxFrames: + type: integer + scale: + type: boolean + default: false + scaleType: + type: string + scaleX: + type: number + scaleY: + type: number + movieLength: + type: number + watermark: + type: boolean + default: true + width: + type: integer + height: + type: integer + x0: + type: number + y0: + type: number + x1: + type: number + y1: + type: number + x2: + type: number + y2: + type: number + callback: + type: string + size: + type: integer + enum: [0, 1, 2, 3, 4] + default: 0 + movieIcons: + type: integer + default: 0 + followViewport: + type: integer + default: 0 + reqObservationDate: + type: string + format: date-time + + ScreenshotResponse: + type: object + required: [id] + properties: + id: + type: integer + description: Unique screenshot identifier. + example: 3285980 + + PostScreenshotRequest: + type: object + required: [date, imageScale, layers] + properties: + date: + type: string + format: date-time + example: "2014-01-01T23:59:59Z" + imageScale: + type: number + format: double + example: 2.4204409 + layers: + type: string + example: "[3,1,100]" + eventsState: + type: object + description: Optional feature/event annotation state. + scale: + type: boolean + default: false + scaleType: + type: string + scaleX: + type: number + scaleY: + type: number + width: + type: integer + height: + type: integer + x0: + type: number + y0: + type: number + x1: + type: number + y1: + type: number + x2: + type: number + y2: + type: number + display: + type: boolean + default: false + watermark: + type: boolean + default: true + callback: + type: string + + ClosestImageResponse: + type: object + required: + - id + - date + - scale + - scaleCorrection + - width + - height + - refPixelX + - refPixelY + - rsun + - sunCenterOffsetParams + - layeringOrder + properties: + id: + type: integer + description: Unique image identifier. + example: 34205701 + date: + type: string + description: Date/time of the selected image. + example: "2014-01-02 00:00:02" + scale: + type: number + description: Normalized image scale in arcseconds per pixel. + example: 0.58996068317702 + scaleCorrection: + type: number + description: Actual image scale / normalized image scale. + example: 1.01701692521 + width: + type: integer + description: Width in pixels of the source JP2 image. + example: 4096 + height: + type: integer + description: Height in pixels of the source JP2 image. + example: 4096 + refPixelX: + type: number + description: X-coordinate of the reference pixel. + example: 2048.5 + refPixelY: + type: number + description: Y-coordinate of the reference pixel. + example: 2048.5 + rsun: + type: number + description: Solar radius in pixels. + example: 1600 + sunCenterOffsetParams: + description: FITS header positioning metadata. + layeringOrder: + type: integer + description: Relative order for image layer compositing. + example: 1 + + EventGroup: + type: object + properties: + name: + type: string + description: Event type name (e.g. "Active Region"). + example: Active Region + pin: + type: string + description: Short event type code (e.g. "AR"). + example: AR + groups: + type: array + items: + $ref: '#/components/schemas/EventFRM' + + EventFRM: + type: object + properties: + name: + type: string + description: Feature Recognition Method (FRM) name. + contact: + type: string + url: + type: string + data: + type: array + items: + type: object + description: Event-specific data conforming to the HEK Event Specification. + + UserVideo: + type: object + properties: + id: + type: string + example: J5tX5 + url: + type: string + description: YouTube URL. + example: "http://www.youtube.com/watch?v=x2VYjI1Eo3M" + thumbnails: + $ref: '#/components/schemas/MovieThumbnails' + published: + type: string + description: Publication timestamp. + example: "2014-02-27 14:56:00" diff --git a/docs/src/playground/index.html b/docs/src/playground/index.html new file mode 100644 index 000000000..94fc66daa --- /dev/null +++ b/docs/src/playground/index.html @@ -0,0 +1,35 @@ + + + + + + Helioviewer API Playground + + + + + +
+ + + + + diff --git a/docs/src/requirements.txt b/docs/src/requirements.txt index d4d5b9941..ab38b5f12 100644 --- a/docs/src/requirements.txt +++ b/docs/src/requirements.txt @@ -1,28 +1,4 @@ -alabaster==0.7.12 -Babel==2.9.1 -certifi==2023.7.22 -charset-normalizer==2.0.12 -docutils==0.17.1 -idna==3.7 -imagesize==1.3.0 -importlib-metadata==4.11.3 -Jinja2==3.1.6 -MarkupSafe==2.1.1 -packaging==21.3 -Pygments==2.16.1 -pyparsing==3.0.7 -pytz==2022.1 -requests==2.32.5 -roman-numerals-py==3.1.0 -snowballstemmer==2.2.0 -Sphinx==4.5.0 -sphinx-rtd-theme==1.0.0 -sphinxcontrib-applehelp==1.0.2 -sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-htmlhelp==2.0.0 -sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-phpdomain==0.8.0 -sphinxcontrib-qthelp==1.0.3 -sphinxcontrib-serializinghtml==1.1.5 -urllib3==2.6.3 -zipp==3.23.0 +Sphinx==9.1.0 +sphinx-rtd-theme==3.1.0 +sphinx-rtd-dark-mode==1.3.0 +sphinxcontrib-openapi==0.9.0 diff --git a/docs/src/source/_static/css/custom.css b/docs/src/source/_static/css/custom.css new file mode 100644 index 000000000..8c1740fd6 --- /dev/null +++ b/docs/src/source/_static/css/custom.css @@ -0,0 +1,11 @@ +@import 'theme.css'; + +/* Fix HTTP method signature visibility in dark mode */ +html[data-theme="dark"].writer-html4 .rst-content dl:not(.docutils) .descclassname, +html[data-theme="dark"].writer-html4 .rst-content dl:not(.docutils) .descname, +html[data-theme="dark"].writer-html4 .rst-content dl:not(.docutils) .sig-name, +html[data-theme="dark"].writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname, +html[data-theme="dark"].writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname, +html[data-theme="dark"].writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name { + color: #e0e0e0; +} diff --git a/docs/src/source/_static/js/new-tab-links.js b/docs/src/source/_static/js/new-tab-links.js new file mode 100644 index 000000000..9514470a5 --- /dev/null +++ b/docs/src/source/_static/js/new-tab-links.js @@ -0,0 +1,8 @@ +// Open links inside literal blocks (e.g. .. parsed-literal:: example URLs) in a +// new tab. Scoped to ".literal-block a" so normal prose links are unaffected. +document.addEventListener('DOMContentLoaded', function () { + document.querySelectorAll('.literal-block a').forEach(function (link) { + link.setAttribute('target', '_blank'); + link.setAttribute('rel', 'noopener noreferrer'); + }); +}); diff --git a/docs/src/source/api/api_groups/jpeg2000.rst b/docs/src/source/api/api_groups/jpeg2000.rst deleted file mode 100644 index 5f4a74d98..000000000 --- a/docs/src/source/api/api_groups/jpeg2000.rst +++ /dev/null @@ -1,13 +0,0 @@ -JPEG 2000 ---------- - -Helioviewer.org and JHelioviewer operate off of JPEG2000 formatted image data -generated from science-quality FITS files. Use the APIs below to interact -directly with these intermediary JPEG2000 files. - -.. include:: jpeg2000/getJp2Image.rst -.. include:: jpeg2000/getJp2Header.rst -.. include:: jpeg2000/getJpx.rst -.. include:: jpeg2000/getJpxClosestToMidpoint.rst -.. include:: jpeg2000/getStatus.rst -.. include:: jpeg2000/downloadImage.rst diff --git a/docs/src/source/api/api_groups/jpeg2000/downloadImage.rst b/docs/src/source/api/api_groups/jpeg2000/downloadImage.rst deleted file mode 100644 index ee5ef56d2..000000000 --- a/docs/src/source/api/api_groups/jpeg2000/downloadImage.rst +++ /dev/null @@ -1,30 +0,0 @@ -downloadImage -^^^^^^^^^^^^^ -GET /v2/downloadImage/ - -Download a specific jp2 img colorized and converted to a png, jpg, or webp image. - -If the requested image size is larger than the underlying source image, then the -image returned will only be as large as the source image. No upscaling is performed. -For example, if you ask for width of 4k, and our source image is 1k, the result -will be a 1k image. - -.. note:: - If you're looking for original jp2 images, see https://helioviewer.org/jp2/ - -.. table:: Request Parameters: - - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+=========+=============================================================================================================================================================================================================+ - | id | Required | number | 7654321 | ID of the image to download | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | width | Optional | number | 1024 | Desired width of the resulting image. Takes priority over the 'scale' option. | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scale | Optional | number | 4 | Ratio of the size of the original image to the downloaded image. Larger numbers result in smaller sizes. | - | | | | | 1 means original size. 2 for half size. 3 for 1/3 size, etc. | - | | | | | Ignored if width is provided. | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | type | Optional | string | jpg | Image type. Available options are jpg, png, and webp | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - diff --git a/docs/src/source/api/api_groups/jpeg2000/getJp2Header.rst b/docs/src/source/api/api_groups/jpeg2000/getJp2Header.rst deleted file mode 100644 index 462bf446c..000000000 --- a/docs/src/source/api/api_groups/jpeg2000/getJp2Header.rst +++ /dev/null @@ -1,222 +0,0 @@ -getJP2Header -^^^^^^^^^^^^ -GET /v2/getJP2Header/ - -Get the XML header embedded in a JPEG2000 image. Includes the FITS header as -well as a section of Helioviewer-specific metadata. - -.. table:: `Request Parameters:` - - +-----------+----------+---------+----------------------+---------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+======================+===============================================================+ - | id | Required | number | 7654321 | Unique JP2 image identifier. | - +-----------+----------+---------+----------------------+---------------------------------------------------------------+ - | callback | Optional | string | a | Wrap the response object in a function call of your choosing. | - +-----------+----------+---------+----------------------+---------------------------------------------------------------+ - -Example: string (XML) -~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJP2Header/?id=7654321 - -.. code-block:: - :caption: Example Response: - - - - - 1 - 16 - 2 - 4096 - 4096 - 1 - 2011-05-25T09:07:00.34 - SDO - 2011-05-25T09:15:44 - SDO - AIA_3 - 2011-05-25T09:07:00.34 - 2011-05-25T09:07:01.34Z - 1.0000000 - 1977.01.01_00:00:00_TAI - 3 - LIGHT - 2.0002010 - 0.00012300000 - 2.2734380 - 171 - angstrom - 171_THIN - 26454194 - 0 - 1.5000000 - 0 - 1073741824 - 16777216 - 16777216 - 0 - 100.000 - 0 - 5041 - 143 - 197.450 - 240.880 - 3.37000 - -18.5000 - nan - nan - aia.flatfield[:#30] - HPLN-TAN - arcsec - 0.0000000 - 0.60000000 - 2048.5000 - HPLT-TAN - arcsec - 0.0000000 - 0.60000000 - 2048.5000 - 0.0000000 - 1581.4006 - sdo.master_pointing[:#158] - 0.10248800 - 0.59907600 - 2049.9199 - 2048.8101 - nan - nan - nan - sdo.lev0_asd_0004[:#10393635] - -4.9394650 - 8.3641070 - 2.6000000e-05 - SCIENCE - NO - YES - NO - GT3 - sdo.fds_orbit_vectors[2011.05.25_09:07:00_UTC] - 1.4959787e+11 - 1.5153469e+11 - 6.9600000e+08 - 947.37917 - nan - nan - nan - nan - nan - nan - -1256.5236 - 31812.788 - 3667.9192 - 151.31955 - -1.4993120 - 2110 - -2147483648 - -2147483648 - -2147483648 - -2147483648 - -2147483648 - -2147483648 - -2147483648 - -2147483648 - -2147483648 - -2147483648 - aia.lev0_isp_0011 - 2011-05-25T09:06:57.50Z - 001.197 - 453 - 1685005655 - 2.1739378e+09 - 2 - 26454194 - 26454186 - 1535 - 0 - 0 - 241 - 5382 - 10 - 0 - 3025 - 40961 - 7 - 8386460 - 8388608 - 8388608 - 8388608 - 204 - 2000 - 2 - ON - CLOSED - 1 - 0 - 54.787998 - 68.779999 - 40.528000 - 25.516001 - 2054.9199 - 2068.8201 - 2040.8040 - 2025.8719 - 0 - 137 - 201 - 236 - 1 - 5 - 0 - 7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 393 - 457 - 748 - 3 - -7 - 2 - -3 - 0 - 0 - -2 - 2 - 13 - 20306521 - -32768 - CAWfE5VZCAVdC3VZ - 368618671 - 0.00000 - 0.00000 - FITSHEAD2STRUCT run at: Wed May 25 02:27:23 2011 - - FITS (Flexible Image Transport System) format is defined in 'Astronomy - and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H - FITSHEAD2STRUCT - - - - 0.00000 - 0.8 - No valid revision number found. Bazaar not installed? Using HV_WRITTENBY manually included revision number: 84 [2011/01/10, https://launchpad.net/jp2gen] : % SPAWN: Error managing child process.: No such file or directory - hvs_version5.pro - 5.0 - JP2 file created locally at Lockheed LMSAL using hv_aia_list2jp2_gs2 at Wed May 25 02:27:24 2011. - Contact Helioviewer LMSAL Franchise (slater@lmsal.com) for more details/questions/comments regarding this JP2 file. - HVS (Helioviewer setup) file used to create this JP2 file: hvs_version5.pro (version 5.0). - FITS to JP2 source code provided by ESA/NASA Helioviewer Project [contact the Helioviewer Project at webmaster@helioviewer.org][NASA-GSFC] and is available for download at https://launchpad.net/jp2gen. - Please contact the source code providers if you suspect an error in the source code. - Full source code for the entire Helioviewer Project can be found at https://github.com/Helioviewer-Project. - TRUE - - diff --git a/docs/src/source/api/api_groups/jpeg2000/getJp2Image.rst b/docs/src/source/api/api_groups/jpeg2000/getJp2Image.rst deleted file mode 100644 index 71c82ebb5..000000000 --- a/docs/src/source/api/api_groups/jpeg2000/getJp2Image.rst +++ /dev/null @@ -1,73 +0,0 @@ -getJP2Image -^^^^^^^^^^^ -GET /v2/getJP2Image - -Download a JP2 image for the specified datasource that is the closest match in -time to the \`date\` requested. - -.. table:: `Request Parameters:` - - +-----------+----------+---------+----------------------+-------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+======================+=====================================================================================+ - | date | Required | string | 2014-01-01T23:59:59Z | Desired date/time of the JP2 image. ISO 8601 combined UTC date and time UTC format. | - +-----------+----------+---------+----------------------+-------------------------------------------------------------------------------------+ - | sourceId | Required | number | 14 | Unique image datasource identifier. | - +-----------+----------+---------+----------------------+-------------------------------------------------------------------------------------+ - | jpip | Optional | boolean | false | Optionally return a JPIP URI instead of the binary data of the image itself. | - +-----------+----------+---------+----------------------+-------------------------------------------------------------------------------------+ - | json | Optional | boolean | false | Optionally return a JSON object. | - +-----------+----------+---------+----------------------+-------------------------------------------------------------------------------------+ - -Example: binary (JPEG2000 image data) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -By default, JPEG2000 binary image data is returned. This assumes that the `jpip` -parameter is omitted or set to `false`. - -.. code-block:: - :caption: example - - https://api.helioviewer.org/v2/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14 - -Example: string (JPIP link to JP2 Image) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If request parameter `jpip` is set to `true` (and the `json` parameter is -omitted or set to `false`) the reponse is a plain text string. - -.. code-block:: - :caption: Example Request - - https://api.helioviewer.org/v2/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14&jpip=true - -.. code-block:: - :caption: Example Response - - jpip://api.helioviewer.org:8090/AIA/2014/01/02/335/2014_01_02__00_00_02_62__SDO_AIA_AIA_335.jp2 - - -Example: JP2 Image (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If request parameters `jpip` and `json` are both set to `true`, the reponse is -a JSON object. - -.. code-block:: - :caption: Example Request - - https://api.helioviewer.org/v2/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14&jpip=true&json=true - -.. code-block:: - :caption: Example Response - - { - "uri": "jpip://api.helioviewer.org:8090/AIA/2014/01/02/335/2014_01_02__00_00_02_62__SDO_AIA_AIA_335.jp2" - } - -.. table:: Response Description - - +-----------+-------------+--------+----------------------------------+ - | Parameter | Required | Type | Description | - +===========+=============+========+==================================+ - | uri | Required | string | JPIP protocol link to JP2 image. | - +-----------+-------------+--------+----------------------------------+ diff --git a/docs/src/source/api/api_groups/jpeg2000/getJpx.rst b/docs/src/source/api/api_groups/jpeg2000/getJpx.rst deleted file mode 100644 index 2e816e01d..000000000 --- a/docs/src/source/api/api_groups/jpeg2000/getJpx.rst +++ /dev/null @@ -1,141 +0,0 @@ -getJPX -^^^^^^ -GET /v2/getJPX/ - -Generate and (optionally) download a custom JPX movie of the specified datasource. - -.. table:: Request Parameters: - - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+=========+=============================================================================================================================================================================================================+ - | startTime | Required | string | 2014-01-01T00:00:00Z | Date/Time for the beginning of the JPX movie data. ISO 8601 combined UTC date and time UTC format. | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | endTime | Required | string | 2014-01-01T00:45:00Z | Date/Time for the end of the JPX movie data. ISO 8601 combined UTC date and time UTC format. | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | sourceId | Required | number | 14 | Unique image datasource identifier. | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | linked | Optional | boolean | true | Generate a `linked` JPX file containing image pointers instead of data for each individual frame in the series. Currently, only JPX image series support this feature. | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | verbose | Optional | boolean | false | If set to `true,` the JSON response will include timestamps for each frame in the resulting movie and any warning messages associated with the request, in addition to the JPX movie file URI. | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | jpip | Optional | boolean | false | Optionally return a JPIP URI string instead of the binary data of the movie itself, or instead of an HTTP URI in the JSON response (if `verbose` is set to `true`). | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | cadence | Optional | number | 12 | The desired amount of time (in seconds) between each frame in the movie. | - +-----------+----------+---------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -If no cadence is specified, the server will attempt to select an optimal cadence. - -Example: binary (JPX movie data) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -By default, JPX binary movie data is returned. This assumes that the `jpip` -and `verbose` parameters are omitted or set to `false`. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14 - -Example: string (JPIP link to JPX movie) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If the `jpip` parameter is set to `true` (and the `verbose` parameter is -omitted or set to `false`) the reponse is a a JPIP-protocol link to the JPX -movie as a plain text string. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&jpip=true - -.. code-block:: - :caption: Example Response: - - jpip://api.helioviewer.org:8090/movies/SDO_AIA_335_F2014-01-01T00.00.00Z_T2014-01-01T00.45.00Z.jpx - - -Example: JPIP JPX Movie (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If request parameters `jpip` and `verbose` are both set to `true`, the response -is a JSON object containing a JPIP-protocol link to the JPX movie plus the -timestamps of each frame a message if the value of `cadence` was overridden by -the server. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&jpip=true&verbose=true - -.. code-block:: - :caption: Example Response: - - { - "frames": [ - 1388534414, - 1388534450, - 1388534486, - [...], - 1388537006, - 1388537042, - 1388537078 - ], - "message": null, - "uri": "jpip://api.helioviewer.org:8090/movies/SDO_AIA_335_F2014-01-01T00.00.00Z_T2014-01-01T00.45.00Z.jpx" - } - - -.. table:: Response Description - - +-----------+----------+--------------+--------------------------------------------------------+ - | Parameter | Required | Type | Description | - +===========+==========+==============+========================================================+ - | message | Required | string | Message describing any values overrided by the server. | - +-----------+----------+--------------+--------------------------------------------------------+ - | uri | Required | string | JPIP protocol link to the JPX movie. | - +-----------+----------+--------------+--------------------------------------------------------+ - | frames | Required | List[Number] | UNIX timestamps of each frame. | - +-----------+----------+--------------+--------------------------------------------------------+ - -Example: HTTP JPX Movie (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If request parameters `verbose` is set to `true` and `jpip` is omitted or set to -`false`, the reponse is a JSON object containing an HTTP-protocol link to the -JPX movie plus the timestamps of each frame a message if the value of `cadence` -was overridden by the server. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&verbose=true - -.. code-block:: - :caption: Example Response: - - { - "message": "Movie cadence has been changed to one image every 1284 seconds in order to avoid exceeding the maximum allowed number of frames (1000) between the requested start and end dates.", - "uri": "http://api.helioviewer.org/jp2/movies/SOHO_MDI_MDI_magnetogram_F2003-10-05T00.00.00Z_T2003-10-20T00.00.00ZB1L.jpx", - "frames": [ - 1065323703, - 1065329463, - 1065335223, - [...], - 1066596483, - 1066602183, - 1066607943 - ] - } - -.. table:: Response Description - - +-----------+----------+--------------+-------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Description | - +===========+==========+==============+=================================================================================================+ - | message | Required | string | An informational message may be included (e.g. if the server overrode the `cadence` parameter). | - +-----------+----------+--------------+-------------------------------------------------------------------------------------------------+ - | uri | Required | string | JPIP protocol link to the JPX movie. | - +-----------+----------+--------------+-------------------------------------------------------------------------------------------------+ - | frames | Optional | List[Number] | UNIX timestamps of each frame. | - +-----------+----------+--------------+-------------------------------------------------------------------------------------------------+ diff --git a/docs/src/source/api/api_groups/jpeg2000/getJpxClosestToMidpoint.rst b/docs/src/source/api/api_groups/jpeg2000/getJpxClosestToMidpoint.rst deleted file mode 100644 index 2f8710ed2..000000000 --- a/docs/src/source/api/api_groups/jpeg2000/getJpxClosestToMidpoint.rst +++ /dev/null @@ -1,129 +0,0 @@ -getJPXClosestToMidPoint -^^^^^^^^^^^^^^^^^^^^^^^ -GET /v2/getJPXClosestToMidPoint/ - -Generate and (optionally) download a custom JPX movie of the specified -datasource with one frame per pair of startTimes/endTimes parameters. - -.. code-block:: - :caption: Request Parameters: - - +------------+----------+---------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +============+==========+=========+==================================+=====================================================================================================================================================================================================================+ - | startTimes | Required | string | 1306886400,1306887000,1306887600 | Comma separated Date/Time timestamps for the beginning of the JPX movie data. Date and time in Unix timestamps format separated with commas. Maximum 360 timestamps allowed due to HTTP URL length limits. | - +------------+----------+---------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | endTimes | Required | string | 1306886700,1306887300,1306887900 | Comma separated Date/Time timestamps for the end of the JPX movie data. Date and time in Unix timestamps format separated with commas. Maximum 360 timestamps allowed due to HTTP URL length limits. | - +------------+----------+---------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | sourceId | Required | number | 14 | Unique image datasource identifier. | - +------------+----------+---------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | linked | Optional | boolean | true | Generate a `linked` JPX file containing image pointers instead of data for each individual frame in the series. Currently, only JPX image series support this feature. | - +------------+----------+---------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | verbose | Optional | boolean | false | If set to `true,` the JSON response will include timestamps for each frame in the resulting movie and any warning messages associated with the request, in addition to the JPX movie file URI. | - +------------+----------+---------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | jpip | Optional | boolean | false | Optionally return a JPIP URI string instead of the binary data of the movie itself, or instead of an HTTP URI in the JSON response (if `verbose` is set to `true`). | - +------------+----------+---------+----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Example: binary (JPX movie data) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -By default, JPX binary movie data is returned. This assumes that the `jpip` -and `verbose` parameters are omitted or set to `false`. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJPXClosestToMidPoint/?startTimes=1306886400,1306887000,1306887600&endTimes=1306886700,1306887300,1306887900&sourceId=14 - -Example: string (JPIP link to JPX movie) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If the `jpip` parameter is set to `true` (and the `verbose` parameter is -omitted or set to `false`) the reponse is a a JPIP-protocol link to the JPX -movie as a plain text string. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJPXClosestToMidPoint/?startTimes=1306886400,1306887000,1306887600&endTimes=1306886700,1306887300,1306887900&sourceId=14&jpip=true - -.. code-block:: - :caption: Example Response: - - jpip://api.helioviewer.org:8090/movies/SDO_AIA_335_F2011-06-01T00.00.00Z_T2011-06-01T00.25.00Z.jpx - -Example: JPIP JPX Movie (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If request parameters `jpip` and `verbose` are both set to `true`, the response -is a JSON object containing a JPIP-protocol link to the JPX movie plus the -timestamps of each frame a message if the value of `cadence` was overridden by -the server. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJPXClosestToMidPoint/?startTimes=1306886400,1306887000,1306887600&endTimes=1306886700,1306887300,1306887900&sourceId=14&jpip=true&verbose=true - -.. code-block:: - :caption: Example Response: - - { - "frames": [ - 1306886547, - [...], - 1306887735 - ], - "message": null, - "uri": "jpip://api.helioviewer.org:8090/movies/SDO_AIA_335_F2011-06-01T00.00.00Z_T2011-06-01T00.25.00Z.jpx" - } - -.. table:: Response Description - - +-----------+----------+--------------+--------------------------------------------------------+ - | Parameter | Required | Type | Description | - +===========+==========+==============+========================================================+ - | message | Required | string | Message describing any values overrided by the server. | - +-----------+----------+--------------+--------------------------------------------------------+ - | uri | Required | string | JPIP protocol link to the JPX movie. | - +-----------+----------+--------------+--------------------------------------------------------+ - | frames | Required | List[Number] | UNIX timestamps of each frame. | - +-----------+----------+--------------+--------------------------------------------------------+ - -Example: HTTP JPX Movie (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If request parameters `verbose` is set to `true` and `jpip` is omitted or set to -`false`, the reponse is a JSON object containing an HTTP-protocol link to the -JPX movie plus the timestamps of each frame a message if the value of `cadence` -was overridden by the server. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getJPXClosestToMidPoint/?startTimes=1306886400,1306887000,1306887600&endTimes=1306886700,1306887300,1306887900&sourceId=14&verbose=true - -.. code-block:: - :caption: Example Response: - - { - "message": null, - "uri": "http://api.helioviewer.org/jp2/movies/SDO_AIA_335_F2011-06-01T00.00.00Z_T2011-06-01T00.25.00Z.jpx.jpx", - "frames": [ - 1306886547, - [...], - 1306887735 - ] - } - -.. table:: Response - - +-----------+----------+--------------+-------------------------------------------------------------------------------------------------+-----+ - | Parameter | Required | Type | Description | | - +===========+==========+==============+=================================================================================================+=====+ - | message | Required | string | An informational message may be included (e.g. if the server overrode the `cadence` parameter). | | - +-----------+----------+--------------+-------------------------------------------------------------------------------------------------+-----+ - | uri | Required | string | JPIP protocol link to the JPX movie. | | - +-----------+----------+--------------+-------------------------------------------------------------------------------------------------+-----+ - | frames | Optional | List[Number] | UNIX timestamps of each frame. | | - +-----------+----------+--------------+-------------------------------------------------------------------------------------------------+-----+ diff --git a/docs/src/source/api/api_groups/jpeg2000/getStatus.rst b/docs/src/source/api/api_groups/jpeg2000/getStatus.rst deleted file mode 100644 index fcdf48158..000000000 --- a/docs/src/source/api/api_groups/jpeg2000/getStatus.rst +++ /dev/null @@ -1,49 +0,0 @@ -getStatus -^^^^^^^^^ -GET /v2/getStatus/ - -Returns information about how far behind the latest available JPEG2000 images. - -Example: string (JSON) -~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request - - https://api.helioviewer.org/v2/getStatus/? - -.. code-block:: - :caption: Example Response: - - { - "AIA": { - "time": "2021-12-08T10:01:57Z", - "level": 5, - "secondsBehind": 1745203, - "measurement": "AIA 171" - }, - "COSMO": { - "time": "2021-12-18T21:59:56Z", - "level": 5, - "secondsBehind": 838124, - "measurement": "COSMO KCor" - }, - "HMI": { - "time": "2021-12-08T10:01:53Z", - "level": 5, - "secondsBehind": 1745207, - "measurement": "HMI Int" - }, - "LASCO": { - "time": "2021-12-10T15:36:08Z", - "level": 5, - "secondsBehind": 1552352, - "measurement": "LASCO C2" - }, - "SECCHI": { - "time": "2021-12-07T23:59:15Z", - "level": 5, - "secondsBehind": 1781365, - "measurement": "EUVI-A 171" - } - } diff --git a/docs/src/source/api/api_groups/movies.rst b/docs/src/source/api/api_groups/movies.rst deleted file mode 100644 index 8b8703c72..000000000 --- a/docs/src/source/api/api_groups/movies.rst +++ /dev/null @@ -1,33 +0,0 @@ -Movies ------- - -The movie APIs can be used to generate custom videos of up to three image -datasource layers composited together. Solar feature/event markers pins, -extended region polygons, associated text labels, and a size-of-earth scale -indicator can optionally be overlayed onto a movie. - -Movie generation is performed asynchronously due to the amount of resources -required to complete each video. Movie requests are queued and then processed -(in the order in which they are received) by one of several worker processes -operating in parallel. - -As a user of the API, begin by sending a 'queueMovie' request. If your request -is successfully added to the queue, you will receive a response containing a -unique movie identifier. This identifier can be used to monitor the status of -your movie via 'getMovieStatus' and then download or play it (via 'downloadMovie' -or 'playMovie') once its status marked as completed. - -Movies may contain between 10 and 300 frames. The movie frames are chosen by -matching the closest image available at each step within the specified range of -dates, and are automatically selected by the API. The region to be included in -the movie may be specified using either the top-left and bottom-right coordinates -in arc-seconds, or a center point in arc-seconds and a width and height in pixels. -See the Coordinates Appendix for more infomration about working with the coordinates -used by Helioviewer.org. - -.. include:: movies/queueMovie.rst -.. include:: movies/postMovie.rst -.. include:: movies/reQueueMovie.rst -.. include:: movies/getMovieStatus.rst -.. include:: movies/downloadMovie.rst -.. include:: movies/playMovie.rst diff --git a/docs/src/source/api/api_groups/movies/downloadMovie.rst b/docs/src/source/api/api_groups/movies/downloadMovie.rst deleted file mode 100644 index 74af88864..000000000 --- a/docs/src/source/api/api_groups/movies/downloadMovie.rst +++ /dev/null @@ -1,25 +0,0 @@ -downloadMovie -^^^^^^^^^^^^^ -GET /v2/downloadMovie/ - -Download a custom movie in one of three file formats. - -.. table:: Request Parameters: - - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+=========+==================================================================================================+ - | id | Required | string | VXvX5 | Unique movie identifier (provided by the response to a `queueMovie` request). | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - | format | Required | string | mp4 | Movie Format (`mp4`, `webm`). | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - | hq | Optional | boolean | true | Optionally download a higher-quality movie file (valid for .mp4 movies only, ignored otherwise). | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - -Example: binary (movie data) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/downloadMovie/?id=VXvX5&format=mp4 diff --git a/docs/src/source/api/api_groups/movies/getMovieStatus.rst b/docs/src/source/api/api_groups/movies/getMovieStatus.rst deleted file mode 100644 index 351a28c34..000000000 --- a/docs/src/source/api/api_groups/movies/getMovieStatus.rst +++ /dev/null @@ -1,147 +0,0 @@ -getMovieStatus -^^^^^^^^^^^^^^ -GET /v2/getMovieStatus/ - -.. table:: Request Parameters: - - +-----------+----------+---------+---------+--------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+=========+================================================================================+ - | id | Required | string | VXvX5 | Unique movie identifier (provided by the response to a `queueMovie` request). | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------+ - | format | Required | string | mp4 | Movie format (`mp4`, `webm`). | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------+ - | verbose | Optional | boolean | true | Optionally include extra metadata in the response. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------+ - | callback | Optional | string | | Wrap the response object in a function call of your choosing. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------+ - | token | Optional | string | | Handle to job in the movie builder queue. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------+ - -Example: Movie Status (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A JSON object containing metadata describing a user-generated movie, including -its generation status (0=queued, 1=processing, 2=finished, 3=invalid). - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getMovieStatus/?id=VXvX5&format=mp4 - -.. code-block:: - :caption: Example Response: - - { - "frameRate": 15, - "numFrames": 300, - "startDate": "2014-02-03 20:26:16", - "status": 2, - "endDate": "2014-02-05 20:16:40", - "width": 846, - "height": 820, - "title": "SDO AIA AIA 1600 (2014-02-03 20:26:16 - 20:16:40 UTC)", - "thumbnails": { - "icon": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-icon.png", - "small": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-small.png", - "medium": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-medium.png", - "large": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-large.png", - "full": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-full.png" - }, - "url": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/2014_02_03_20_26_16_2014_02_05_20_16_40_.mp4", - "statusLabel": "Completed" - } - -.. table:: Response Description - - +-----------+----------+--------+-------------------------------------------------------------------------+ - | Parameter | Required | Type | Description | - +===========+==========+========+=========================================================================+ - | status | Required | number | | Movie generation status | - | | | | | (0=queued, 1=processing, 2=finished, 3=invalid) | - +-----------+----------+--------+-------------------------------------------------------------------------+ - -Example: Movie Status Verbose (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A JSON object containing metadata describing a user-generated movie, including -its generation status (0=queued, 1=processing, 2=finished, 3=invalid) and the -parameters used to create it. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getMovieStatus/?id=VXvX5&format=webm&verbose=true&callback=callbackTest - -.. code-block:: - :caption: Example Response: - - callbackTest({ - "frameRate": 15, - "numFrames": 300, - "startDate": "2014-02-03 20:26:16", - "status": 2, - "endDate": "2014-02-05 20:16:40", - "width": 846, - "height": 820, - "title": "SDO AIA AIA 1600 (2014-02-03 20:26:16 - 20:16:40 UTC)", - "thumbnails": { - "icon": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-icon.png", - "small": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-small.png", - "medium": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-medium.png", - "large": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-large.png", - "full": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-full.png" - }, - "url": "http://api.helioviewer.org/cache/movies/2014/02/05/VXvX5/2014_02_03_20_26_16_2014_02_05_20_16_40_.webm", - "timestamp": "2014-02-05 20:25:55", - "duration": 20, - "imageScale": 2.42044, - "layers": "[SDO,AIA,AIA,1600,1,100]", - "events": "[AR,all,1],[CC,all,1],[CD,all,1],[CH,all,1],[CJ,all,1],[CE,all,1],[CR,all,1],[CW,all,1],[EF,all,1],[ER,all,1],[FI,all,1],[FA,all,1],[FE,all,1],[FL,all,1],[LP,all,1],[OS,all,1],[PG,all,1],[SG,all,1],[SP,all,1],[SS,all,1]", - "x1": -1011.7442962, - "y1": -980.2785645, - "x2": 1035.9487052, - "y2": 1004.4829735, - "statusLabel": "Completed" - }) - -.. table:: Response Description - - +------------+----------+--------+---------------------------------------------------------------------------+ - | Parameter | Required | Type | Description | - +============+==========+========+===========================================================================+ - | endDate | Optional | string | Date of final frame in movie (e.g. "2014-02-05 19:40:16") | - +------------+----------+--------+---------------------------------------------------------------------------+ - | frameRate | Optional | number | Number of frames per second (e.g. 15) | - +------------+----------+--------+---------------------------------------------------------------------------+ - | height | Optional | number | Pixel height of movie | - +------------+----------+--------+---------------------------------------------------------------------------+ - | numFrames | Optional | number | Total number of frames (e.g. 300) | - +------------+----------+--------+---------------------------------------------------------------------------+ - | startDate | Optional | string | Date of first frame in movie (e.g. "2014-02-05 19:40:16") | - +------------+----------+--------+---------------------------------------------------------------------------+ - | status | Required | number | Movie generation status (0=queued, 1=processing, 2=finished, 3=invalid) | - +------------+----------+--------+---------------------------------------------------------------------------+ - | title | Optional | string | Title of movie (e.g. "SDO AIA 1600 (2014-02-03 20:26:16 - 19:40:16 UTC)") | - +------------+----------+--------+---------------------------------------------------------------------------+ - | url | Optional | string | Download URL for movie in specified format | - +------------+----------+--------+---------------------------------------------------------------------------+ - | width | Optional | number | Pixel width of movie | - +------------+----------+--------+---------------------------------------------------------------------------+ - | duration | Optional | string | Movie duration in seconds (e.g. 20) | - +------------+----------+--------+---------------------------------------------------------------------------+ - | events | Optional | string | Solar Feature/Event layer(s) contained in movie | - | imageScale | Optional | number | Image scale in arcseconds per pixel (e.g. 2.42044) | - +------------+----------+--------+---------------------------------------------------------------------------+ - | layers | Optional | string | Image datasource layer(s) contained in movie | - +------------+----------+--------+---------------------------------------------------------------------------+ - | timestamp | Optional | string | Timestamp (e.g. "2014-02-05 20:25:55") | - +------------+----------+--------+---------------------------------------------------------------------------+ - | x1 | Optional | number | Arc seconds from Sun center (e.g. -1011.7442962) | - +------------+----------+--------+---------------------------------------------------------------------------+ - | y1 | Optional | number | Arc seconds from Sun center (e.g. -980.2785645) | - +------------+----------+--------+---------------------------------------------------------------------------+ - | x2 | Optional | number | Arc seconds from Sun center (e.g. 1035.9487052) | - +------------+----------+--------+---------------------------------------------------------------------------+ - | y2 | Optional | number | Arc seconds from Sun center (e.g. 1004.4829735) | - +------------+----------+--------+---------------------------------------------------------------------------+ diff --git a/docs/src/source/api/api_groups/movies/playMovie.rst b/docs/src/source/api/api_groups/movies/playMovie.rst deleted file mode 100644 index d197500fe..000000000 --- a/docs/src/source/api/api_groups/movies/playMovie.rst +++ /dev/null @@ -1,56 +0,0 @@ -playMovie -^^^^^^^^^ -GET /v2/playMovie/ - -Output an HTML web page with the requested movie embedded within. - -.. table:: Request Parameters: - - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+=========+==================================================================================================+ - | id | Required | string | VXvX5 | Unique movie identifier (provided by the response to a `queueMovie` request). | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - | format | Required | string | mp4 | Movie format (mp4, webm). | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - | hq | Optional | boolean | true | Optionally download a higher-quality movie file (valid for .mp4 movies only, ignored otherwise). | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - | width | Optional | number | 846 | Width of embedded movie player in pixels. Defaults to the actual width of the movie itself. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - | height | Required | string | 820 | Height of embedded movie player in pixels. Defaults to the actual height of the movie itself. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------+ - -Example: string (HTML) -~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/playMovie/?id=VXvX5&format=mp4&hq=true - -.. code-block:: - :caption: Example Response: - - - - - Helioviewer.org - 2014_02_03_20_26_16_2014_02_05_20_16_40_AIA_1600-hq.mp4 - - - - -
-
-
- - - diff --git a/docs/src/source/api/api_groups/movies/postMovie.rst b/docs/src/source/api/api_groups/movies/postMovie.rst deleted file mode 100644 index 48565410f..000000000 --- a/docs/src/source/api/api_groups/movies/postMovie.rst +++ /dev/null @@ -1,265 +0,0 @@ -postMovie -^^^^^^^^^ - -**URL:** ``/v2/postMovie/`` - -**Method:** ``POST`` - -**Content-Type:** ``application/json`` - -Create a custom movie with a POST request by submitting JSON to the movie generation queue. -The response returned will provide you with a unique Movie ID that can be used -to check the status of your movie (via `getMovieStatus <#getmoviestatus>`_) -and to download your movie (via `downloadMovie <#downloadmovie>`_). - -Request Format -~~~~~~~~~~~~~~ - -The request must be a JSON object with the following structure: - -.. code-block:: json - - { - "date" : "2014-01-01T23:59:59Z", - "imageScale" : 2.4204409, - "layers" : "[3,1,100]" - } - -Parameters -~~~~~~~~~~ - -Request JSON object consist of following parameters - -.. list-table:: JSON Request Parameters: - :header-rows: 1 - - * - Parameter - - Required - - Type - - Example - - Description - * - ``startTime`` - - Required - - string - - 2010-03-01T12:12:12Z - - Desired date and time of the first frame of the movie. ISO 8601 combined UTC date and time UTC format. - * - ``endTime`` - - Required - - string - - 2010-03-04T12:12:12Z - - Desired date and time of the final frame of the movie. ISO 8601 combined UTC date and time UTC format. - * - ``layers`` - - Required - - string - - | [3,1,100] - | or - | [3,1,100,2,60,1,2010-03-01T12:12:12.000Z] - - Image datasource layer(s) to include in the movie. - * - ``eventsState`` - - Optional - - object - - | { - | "tree_HEK": { - | "labels_visible": true, - | "layers": [ - | { - | "event_type": "flare", - | "frms": ["frm10", "frm20"], - | "event_instances": ["flare--frm1--event1", "flare--frm2--event2"] - | } - | ] - | }, - | .... - | } - - | Optional list of feature/event types to use to annotate the movie. - | To get more information about this structure, please see document : :ref:`events-state-page` - * - ``imageScale`` - - Required - - number - - 21.04 - - Image scale in arcseconds per pixel. - * - ``format`` - - Optional - - string - - mp4 - - Movie format (`mp4`, `webm`). Default value is `mp4`. - * - ``frameRate`` - - Optional - - string - - 15 - - Movie frames per second. 15 frames per second by default. - * - ``maxFrames`` - - Optional - - string - - 300 - - Maximum number of frames in the movie. May be capped by the server. - * - ``scale`` - - Optional - - boolean - - false - - Optionally overlay an image scale indicator. - * - ``scaleType`` - - Optional - - string - - earth - - Image scale indicator. - * - ``scaleX`` - - Optional - - number - - -1000 - - Horizontal offset of the image scale indicator in arcseconds with respect to the center of the Sun. - * - ``scaleY`` - - Optional - - number - - -500 - - Vertical offset of the image scale indicator in arcseconds with respect to the center of the Sun. - * - ``movieLength`` - - Optional - - number - - 4.3333 - - Movie length in seconds. - * - ``watermark`` - - Optional - - boolean - - true - - Optionally overlay a Helioviewer.org watermark image. Enabled by default. - * - ``width`` - - Optional - - string - - 1920 - - Width of the field of view in pixels. (Used in conjunction width `x0`,`y0`, and `height`). - * - ``height`` - - Optional - - string - - 1200 - - Height of the field of view in pixels. (Used in conjunction width `x0`,`y0`, and `width`). - * - ``x0`` - - Optional - - string - - 0 - - 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`. - * - ``y0`` - - Optional - - string - - 0 - - 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`. - * - ``x1`` - - Optional - - string - - -5000 - - 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`. - * - ``y1`` - - Optional - - string - - -5000 - - 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`. - * - ``x2`` - - Optional - - string - - 5000 - - 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`. - * - ``y2`` - - Optional - - string - - 5000 - - 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`. - * - ``callback`` - - Optional - - string - - - - Wrap the response object in a function call of your choosing. - * - ``size`` - - Optional - - number - - 0 - - | Scale video to preset size - | 0 - Original size - | 1 - 720p (1280 x 720, HD Ready); - | 2 - 1080p (1920 x 1080, Full HD); - | 3 - 1440p (2560 x 1440, Quad HD); - | 4 - 2160p (3840 x 2160, 4K or Ultra HD). - * - ``movieIcons`` - - Optional - - number - - 0 - - Display other user generated movies on the video. - * - ``followViewport`` - - Optional - - number - - 0 - - Rotate field of view of movie with Sun. - * - ``reqObservationDate`` - - Optional - - string - - 2017-08-30T14:45:53.000Z - - Viewport time. Used when 'followViewport' enabled to shift viewport area to correct coordinates. - -Example: Queued Movie (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -JSON response to "postMovie" API requests. - -.. code-block:: http - :caption: Example Request: - - POST /v2/postMovie/ HTTP/1.1 - Host: api.helioviewer.org - - Content-Type: application/json - { - "startTime" : "2010-03-01T12:12:12Z", - "endTime" : "2010-03-04T12:12:12Z", - "imageScale" : 21.04, - "layers" : "[3,1,100]", - "eventsState" : { - "tree_HEK": { - "labels_visible": true, - "layers": [ - { - "event_type": "flare", - "frms": ["frm10", "frm20"], - "event_instances": ["flare--frm1--event1", "flare--frm2--event2"] - } - ] - }, - }, - "x1" : -5000, - "y1" : -5000, - "x2" : 5000, - "y2" : 5000, - } - -.. code-block:: json - :caption: Example Response: - - { - "id": "z6vX5", - "eta": 376, - "queue": 0, - "token": "50e0d98f645b42d159ec1c8a1e15de3e" - } - -.. list-table:: JSON Response Parameters: - :header-rows: 1 - - * - Parameter - - Required - - Type - - Description - * - ``id`` - - Required - - string - - Unique movie identifier (e.g. "z6vX5") - * - ``eta`` - - Required - - number - - Estimated time until movie generation will be completed in seconds - * - ``queue`` - - Required - - number - - Position in movie generation queue - * - ``token`` - - Required - - string - - Handle to job in the movie builder queue - diff --git a/docs/src/source/api/api_groups/movies/queueMovie.rst b/docs/src/source/api/api_groups/movies/queueMovie.rst deleted file mode 100644 index cc39ec3ab..000000000 --- a/docs/src/source/api/api_groups/movies/queueMovie.rst +++ /dev/null @@ -1,111 +0,0 @@ -queueMovie -^^^^^^^^^^ -GET /v2/queueMovie/ - -Create a custom movie by submitting a request to the movie generation queue. -The response returned will provide you with a unique Movie ID that can be used -to check on the status of your movie (via `getMovieStatus <#getmoviestatus>`_) -and to download your movie (via `downloadMovie <#downloadmovie>`_). - -.. table:: Request Parameters: - - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +====================+==========+=========+==================================================================+==============================================================================================================================================================================================+ - | startTime | Required | string | 2010-03-01T12:12:12Z | Desired date and time of the first frame of the movie. ISO 8601 combined UTC date and time UTC format. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | endTime | Required | string | 2010-03-04T12:12:12Z | Desired date and time of the final frame of the movie. ISO 8601 combined UTC date and time UTC format. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | layers | Required | string | | [3,1,100],[4,1,100] | Image datasource layer(s) to include in the movie. | - | | | | | or | | - | | | | | [3,1,100,2,60,1,2010-03-01T12:12:12.000Z] | | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | events | Required | string | [AR,HMI_HARP;SPoCA,1],[CH,all,1] | List feature/event types and FRMs to use to annoate the movie. Use the empty string to indicate that no feature/event annotations should be shown. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | eventsLabels | Required | boolean | false | Optionally annotate each event marker with a text label. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | imageScale | Required | number | 21.04 | Image scale in arcseconds per pixel. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | format | Optional | string | mp4 | Movie format (`mp4`, `webm`). Default value is `mp4`. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | frameRate | Optional | string | 15 | Movie frames per second. 15 frames per second by default. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | maxFrames | Optional | string | 300 | Maximum number of frames in the movie. May be capped by the server. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scale | Optional | boolean | false | Optionally overlay an image scale indicator. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scaleType | Optional | string | earth | Image scale indicator. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scaleX | Optional | number | -1000 | Horizontal offset of the image scale indicator in arcseconds with respect to the center of the Sun. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scaleY | Optional | number | -500 | Vertical offset of the image scale indicator in arcseconds with respect to the center of the Sun. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | movieLength | Optional | number | 4.3333 | Movie length in seconds. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | watermark | Optional | boolean | true | Optionally overlay a Helioviewer.org watermark image. Enabled by default. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | width | Optional | string | 1920 | Width of the field of view in pixels. (Used in conjunction width `x0`,`y0`, and `height`). | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | height | Optional | string | 1200 | Height of the field of view in pixels. (Used in conjunction width `x0`,`y0`, and `width`). | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | x0 | Optional | string | 0 | 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`. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | y0 | Optional | string | 0 | 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`. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | x1 | Optional | string | -5000 | 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`. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | y1 | Optional | string | -5000 | 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`. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | x2 | Optional | string | 5000 | 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`. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | y2 | Optional | string | 5000 | 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`. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | callback | Optional | string | | Wrap the response object in a function call of your choosing. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | size | Optional | number | 0 | | Scale video to preset size: | - | | | | | | 0 - Original size | - | | | | | | 1 - 720p (1280 x 720, HD Ready); | - | | | | | | 2 - 1080p (1920 x 1080, Full HD); | - | | | | | | 3 - 1440p (2560 x 1440, Quad HD); | - | | | | | | 4 - 2160p (3840 x 2160, 4K or Ultra HD). | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | movieIcons | Optional | number | 0 | Display other user generated movies on the video. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | followViewport | Optional | number | 0 | Rotate field of view of movie with Sun. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | reqObservationDate | Optional | string | 2017-08-30T14:45:53.000Z | Viewport time. Used when 'followViewport' enabled to shift viewport area to correct coordinates. | - +--------------------+----------+---------+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Example: Queued Movie (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -JSON response to "`queueMovie <#queuemovie>`_" and "`reQueueMovie <#id2>`_" API requests. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/queueMovie/?startTime=2010-03-01T12:12:12Z&endTime=2010-03-04T12:12:12Z&layers=[3,1,100],[4,1,100]&events=[AR,HMI_HARP;SPoCA,1],[CH,all,1]&eventsLabels=false&imageScale=21.04&x1=-5000&y1=-5000&x2=5000&y2=5000 - -.. code-block:: - :caption: Example Response: - - { - "id": "z6vX5", - "eta": 376, - "queue": 0, - "token": "50e0d98f645b42d159ec1c8a1e15de3e" - } - -.. table:: Response Description - - +-----------+----------+--------+--------------------------------------------------------------------+ - | Parameter | Required | Type | Description | - +===========+==========+========+====================================================================+ - | eta | Required | number | Estimated time until movie generation will be completed in seconds | - +-----------+----------+--------+--------------------------------------------------------------------+ - | id | Required | string | Unique movie identifier (e.g. "z6vX5") | - +-----------+----------+--------+--------------------------------------------------------------------+ - | queue | Required | number | Position in movie generation queue | - +-----------+----------+--------+--------------------------------------------------------------------+ - | token | Required | string | Handle to job in the movie builder queue | - +-----------+----------+--------+--------------------------------------------------------------------+ diff --git a/docs/src/source/api/api_groups/movies/reQueueMovie.rst b/docs/src/source/api/api_groups/movies/reQueueMovie.rst deleted file mode 100644 index 2158e9ec7..000000000 --- a/docs/src/source/api/api_groups/movies/reQueueMovie.rst +++ /dev/null @@ -1,53 +0,0 @@ -reQueueMovie -^^^^^^^^^^^^ -GET /v2/reQueueMovie/ - -Re-generate a custom movie that is no longer cached on disk. Once the movie has -been successfully queued for regeneration, the Movie ID can be used to check on -the status of the movie (via `getMovieStatus <#getmoviestatus>`_) and to download the movie -(via `downloadMovie <#downloadmovie>`_). - - -.. table:: Request Parameters: - - +-----------+----------+--------+---------+-------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+========+=========+===============================================================================+ - | id | Required | string | VXvX5 | Unique movie identifier (provided by the response to a `queueMovie` request). | - +-----------+----------+--------+---------+-------------------------------------------------------------------------------+ - | force | Optional | bool | false | Forces rebuilding of a movie. Useful if new data has been added. | - +-----------+----------+--------+---------+-------------------------------------------------------------------------------+ - -Example: Queued Movie (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -JSON response to `queueMovie <#queuemovie>`_ and `reQueueMovie <#id2>`_ API requests. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/reQueueMovie/?id=VXvX5 - -.. code-block:: - :caption: Example Response: - - { - "id": "VXvX5", - "eta": 285, - "queue": 0, - "token": "4673d6db4e2a3365ab361267f2a9a112" - } - -.. table:: Response Description - - +-----------+----------+--------+--------------------------------------------------------------------+ - | Parameter | Required | Type | Description | - +===========+==========+========+====================================================================+ - | eta | Required | number | Estimated time until movie generation will be completed in seconds | - +-----------+----------+--------+--------------------------------------------------------------------+ - | id | Required | string | Unique movie identifier (e.g. "z6vX5") | - +-----------+----------+--------+--------------------------------------------------------------------+ - | queue | Required | number | Position in movie generation queue | - +-----------+----------+--------+--------------------------------------------------------------------+ - | token | Required | string | | - +-----------+----------+--------+--------------------------------------------------------------------+ diff --git a/docs/src/source/api/api_groups/official_clients.rst b/docs/src/source/api/api_groups/official_clients.rst deleted file mode 100644 index 222765e25..000000000 --- a/docs/src/source/api/api_groups/official_clients.rst +++ /dev/null @@ -1,7 +0,0 @@ -Official Clients ----------------- - -.. include:: official_clients/getClosestImage.rst -.. include:: official_clients/getDataSources.rst -.. include:: official_clients/getTile.rst -.. include:: official_clients/shortenURL.rst diff --git a/docs/src/source/api/api_groups/official_clients/getClosestImage.rst b/docs/src/source/api/api_groups/official_clients/getClosestImage.rst deleted file mode 100644 index f29cce0f5..000000000 --- a/docs/src/source/api/api_groups/official_clients/getClosestImage.rst +++ /dev/null @@ -1,75 +0,0 @@ -getClosestImage -^^^^^^^^^^^^^^^ -GET /v2/getClosestImage/ - -Find the image data that is closest to the requested date/time. Return the -associated metadata from the helioviewer database and the XML header of the -JPEG2000 image file. - -.. table:: Request Parameters: - - +-----------+----------+--------+----------------------+---------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+========+======================+=================================================================================+ - | date | Required | string | 2014-01-01T23:59:59Z | Desired date/time of the image. ISO 8601 combined UTC date and time UTC format. | - +-----------+----------+--------+----------------------+---------------------------------------------------------------------------------+ - | callback | Optional | string | | Wrap the response object in a function call of your choosing. | - +-----------+----------+--------+----------------------+---------------------------------------------------------------------------------+ - | sourceId | Required | number | 14 | Unique image datasource identifier. | - +-----------+----------+--------+----------------------+---------------------------------------------------------------------------------+ - -Example: Get Closest Image (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A JSON object containing metadata related to the JPEG2000 image representing the -closest temporal match for the specified datasource. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getClosestImage/?date=2014-01-01T23:59:59Z&sourceId=14 - -.. code-block:: - :caption: Example Response: - - { - "id": 34205701, - "date": "2014-01-02 00:00:02", - "scale": 0.58996068317702, - "scaleCorrection": 1.01701692521, - "width": 4096, - "height": 4096, - "refPixelX": 2048.5, - "refPixelY": 2048.5, - "rsun": 1600, - "sunCenterOffsetParams": [], - "layeringOrder": 1 - } - -.. table:: Response Description - - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Description | - +=======================+==========+========+=============================================================================================================+ - | id | Required | number | Unique image identifier (e.g. 34205701) | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | date | Required | string | Date/time of selected image. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | scale | Required | number | Normalized Image scale in arc-seconds per pixel. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | scaleCorrection | Required | number | Correction factor for the Normalized image scale. This value is Actual Image Scale / Normalized image scale | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | width | Required | number | Width in pixels of source JPEG2000 image data. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | height | Required | number | Height in pixels of source JPEG2000 image data. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | refPixelX | Required | number | X-coordinate of reference pixel. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | refPixelY | Required | number | Y-coordinate of reference pixel. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | rsun | Required | number | Solar radius in pixels. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | sunCenterOffsetParams | Required | string | FITS header positioning metadata. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ - | layeringOrder | Required | number | Relative order for image layer compositing. | - +-----------------------+----------+--------+-------------------------------------------------------------------------------------------------------------+ diff --git a/docs/src/source/api/api_groups/official_clients/getDataSources.rst b/docs/src/source/api/api_groups/official_clients/getDataSources.rst deleted file mode 100644 index e05aec61d..000000000 --- a/docs/src/source/api/api_groups/official_clients/getDataSources.rst +++ /dev/null @@ -1,2496 +0,0 @@ -getDataSources -^^^^^^^^^^^^^^^ -GET /v2/getDataSources/ - -Return a hierarchial list of the available datasources. - -Optional parameter `verbose` is exists for compatability with JHelioviewer. It -outputs the hierarchical list in an alternative format and limits the list of -available datasources to a known set (SDO and SOHO). JHelioviewer may not -operate properly if new datasources appear in the feed without a client-side -updgrade. To explicitly include new sources, use the optional `enable` parameter. - -.. table:: Request Parameters: - - +-----------+----------+---------+----------------------------+---------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+============================+===============================================================+ - | verbose | Optional | boolean | false | | - +-----------+----------+---------+----------------------------+---------------------------------------------------------------+ - | enable | Optional | string | [Yohkoh,STEREO_A,STEREO_B] | Comma-separated list of observatories to enable. | - +-----------+----------+---------+----------------------------+---------------------------------------------------------------+ - | callback | Optional | string | | Wrap the response object in a function call of your choosing. | - +-----------+----------+---------+----------------------------+---------------------------------------------------------------+ - -Example: Get Data Sources (JSON) - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getDataSources/? - -.. code-block:: - :caption: Example Response: - - { - "Hinode": { - "XRT": { - "Al_med": { - "Al_mesh": { - "end": "2007-05-09 09:50:35", - "layeringOrder": 1, - "nickname": "XRT Al_med/Al_mesh", - "sourceId": 38, - "start": "2006-11-02 10:25:55", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_med" - }, - { - "label": "Filter Wheel 2", - "name": "Al_mesh" - } - ] - }, - "Al_thick": { - "end": "2013-04-12 22:30:11", - "layeringOrder": 1, - "nickname": "XRT Al_med/Al_thick", - "sourceId": 39, - "start": "2006-11-02 10:29:19", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_med" - }, - { - "label": "Filter Wheel 2", - "name": "Al_thick" - } - ] - }, - "Be_thick": { - "end": "2013-10-10 06:13:06", - "layeringOrder": 1, - "nickname": "XRT Al_med/Be_thick", - "sourceId": 40, - "start": "2006-11-02 10:30:27", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_med" - }, - { - "label": "Filter Wheel 2", - "name": "Be_thick" - } - ] - }, - "Gband": { - "end": "2007-04-12 09:21:51", - "layeringOrder": 1, - "nickname": "XRT Al_med/Gband", - "sourceId": 41, - "start": "2006-10-27 03:14:51", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_med" - }, - { - "label": "Filter Wheel 2", - "name": "Gband" - } - ] - }, - "Open": { - "end": "2013-10-16 15:14:57", - "layeringOrder": 1, - "nickname": "XRT Al_med/Open", - "sourceId": 42, - "start": "2006-11-02 10:25:05", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_med" - }, - { - "label": "Filter Wheel 2", - "name": "Open" - } - ] - }, - "Ti_poly": { - "end": "2010-11-18 14:09:50", - "layeringOrder": 1, - "nickname": "XRT Al_med/Ti_poly", - "sourceId": 43, - "start": "2006-11-02 10:27:03", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_med" - }, - { - "label": "Filter Wheel 2", - "name": "Ti_poly" - } - ] - } - }, - "Al_poly": { - "Al_mesh": { - "end": "2007-12-23 10:04:47", - "layeringOrder": 1, - "nickname": "XRT Al_poly/Al_mesh", - "sourceId": 44, - "start": "2006-11-02 10:20:35", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Al_mesh" - } - ] - }, - "Al_thick": { - "end": "2013-04-30 02:19:57", - "layeringOrder": 1, - "nickname": "XRT Al_poly/Al_thick", - "sourceId": 45, - "start": "2006-11-02 10:21:13", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Al_thick" - } - ] - }, - "Be_thick": { - "end": "2013-04-12 22:29:33", - "layeringOrder": 1, - "nickname": "XRT Al_poly/Be_thick", - "sourceId": 46, - "start": "2006-11-02 10:21:17", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Be_thick" - } - ] - }, - "Gband": { - "end": "2007-04-20 09:25:05", - "layeringOrder": 1, - "nickname": "XRT Al_poly/Gband", - "sourceId": 47, - "start": "2006-10-27 02:16:32", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Gband" - } - ] - }, - "Open": { - "end": "2013-10-22 08:28:16", - "layeringOrder": 1, - "nickname": "XRT Al_poly/Open", - "sourceId": 48, - "start": "2006-10-23 10:37:13", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Open" - } - ] - }, - "Ti_poly": { - "end": "2013-10-19 14:59:37", - "layeringOrder": 1, - "nickname": "XRT Al_poly/Ti_poly", - "sourceId": 49, - "start": "2006-11-02 10:21:04", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Al_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Ti_poly" - } - ] - } - }, - "Be_med": { - "Al_mesh": { - "end": "2007-05-09 09:50:19", - "layeringOrder": 1, - "nickname": "XRT Be_med/Al_mesh", - "sourceId": 50, - "start": "2006-11-02 10:23:14", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_med" - }, - { - "label": "Filter Wheel 2", - "name": "Al_mesh" - } - ] - }, - "Al_thick": { - "end": "2006-11-02 10:24:02", - "layeringOrder": 1, - "nickname": "XRT Be_med/Al_thick", - "sourceId": 51, - "start": "2006-11-02 10:24:02", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_med" - }, - { - "label": "Filter Wheel 2", - "name": "Al_thick" - } - ] - }, - "Be_thick": { - "end": "2006-11-02 10:24:28", - "layeringOrder": 1, - "nickname": "XRT Be_med/Be_thick", - "sourceId": 52, - "start": "2006-11-02 10:24:28", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_med" - }, - { - "label": "Filter Wheel 2", - "name": "Be_thick" - } - ] - }, - "Gband": { - "end": "2007-04-20 07:51:35", - "layeringOrder": 1, - "nickname": "XRT Be_med/Gband", - "sourceId": 53, - "start": "2006-10-27 03:03:11", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_med" - }, - { - "label": "Filter Wheel 2", - "name": "Gband" - } - ] - }, - "Open": { - "end": "2013-10-21 17:14:06", - "layeringOrder": 1, - "nickname": "XRT Be_med/Open", - "sourceId": 54, - "start": "2006-11-02 10:23:05", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_med" - }, - { - "label": "Filter Wheel 2", - "name": "Open" - } - ] - }, - "Ti_poly": { - "end": "2006-11-02 10:23:26", - "layeringOrder": 1, - "nickname": "XRT Be_med/Ti_poly", - "sourceId": 55, - "start": "2006-11-02 10:23:26", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_med" - }, - { - "label": "Filter Wheel 2", - "name": "Ti_poly" - } - ] - } - }, - "Be_thin": { - "Al_mesh": { - "end": "2007-05-09 09:50:03", - "layeringOrder": 1, - "nickname": "XRT Be_thin/Al_mesh", - "sourceId": 56, - "start": "2006-11-02 10:22:19", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_thin" - }, - { - "label": "Filter Wheel 2", - "name": "Al_mesh" - } - ] - }, - "Al_thick": { - "end": "2006-11-02 10:22:35", - "layeringOrder": 1, - "nickname": "XRT Be_thin/Al_thick", - "sourceId": 57, - "start": "2006-11-02 10:22:35", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_thin" - }, - { - "label": "Filter Wheel 2", - "name": "Al_thick" - } - ] - }, - "Be_thick": { - "end": "2006-11-02 10:22:42", - "layeringOrder": 1, - "nickname": "XRT Be_thin/Be_thick", - "sourceId": 58, - "start": "2006-11-02 10:22:42", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_thin" - }, - { - "label": "Filter Wheel 2", - "name": "Be_thick" - } - ] - }, - "Gband": { - "end": "2007-04-20 03:13:11", - "layeringOrder": 1, - "nickname": "XRT Be_thin/Gband", - "sourceId": 59, - "start": "2006-10-27 02:51:31", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_thin" - }, - { - "label": "Filter Wheel 2", - "name": "Gband" - } - ] - }, - "Open": { - "end": "2013-10-22 08:28:01", - "layeringOrder": 1, - "nickname": "XRT Be_thin/Open", - "sourceId": 60, - "start": "2006-11-02 10:22:14", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_thin" - }, - { - "label": "Filter Wheel 2", - "name": "Open" - } - ] - }, - "Ti_poly": { - "end": "2006-11-02 10:22:24", - "layeringOrder": 1, - "nickname": "XRT Be_thin/Ti_poly", - "sourceId": 61, - "start": "2006-11-02 10:22:24", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Be_thin" - }, - { - "label": "Filter Wheel 2", - "name": "Ti_poly" - } - ] - } - }, - "C_poly": { - "Al_mesh": { - "end": "2007-05-09 09:49:47", - "layeringOrder": 1, - "nickname": "XRT C_poly/Al_mesh", - "sourceId": 62, - "start": "2006-11-02 10:21:26", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "C_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Al_mesh" - } - ] - }, - "Al_thick": { - "end": "2013-04-12 22:29:49", - "layeringOrder": 1, - "nickname": "XRT C_poly/Al_thick", - "sourceId": 63, - "start": "2006-11-02 10:22:04", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "C_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Al_thick" - } - ] - }, - "Be_thick": { - "end": "2006-11-02 10:22:08", - "layeringOrder": 1, - "nickname": "XRT C_poly/Be_thick", - "sourceId": 64, - "start": "2006-11-02 10:22:08", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "C_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Be_thick" - } - ] - }, - "Gband": { - "end": "2006-11-02 10:21:34", - "layeringOrder": 1, - "nickname": "XRT C_poly/Gband", - "sourceId": 65, - "start": "2006-10-27 02:39:52", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "C_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Gband" - } - ] - }, - "Open": { - "end": "2013-10-19 14:59:17", - "layeringOrder": 1, - "nickname": "XRT C_poly/Open", - "sourceId": 66, - "start": "2006-11-02 10:21:22", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "C_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Open" - } - ] - }, - "Ti_poly": { - "end": "2012-11-03 19:30:16", - "layeringOrder": 1, - "nickname": "XRT C_poly/Ti_poly", - "sourceId": 67, - "start": "2006-11-02 10:21:30", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "C_poly" - }, - { - "label": "Filter Wheel 2", - "name": "Ti_poly" - } - ] - } - }, - "Mispositioned": { - "Mispositioned": { - "end": "2006-12-07 09:13:47", - "layeringOrder": 1, - "nickname": "XRT Mispositioned/Mispositioned", - "sourceId": 68, - "start": "2006-12-02 09:22:05", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Mispositioned" - }, - { - "label": "Filter Wheel 2", - "name": "Mispositioned" - } - ] - } - }, - "Open": { - "Al_mesh": { - "end": "2013-10-22 06:33:47", - "layeringOrder": 1, - "nickname": "XRT Open/Al_mesh", - "sourceId": 69, - "start": "2006-10-26 22:55:51", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Open" - }, - { - "label": "Filter Wheel 2", - "name": "Al_mesh" - } - ] - }, - "Al_thick": { - "end": "2013-10-22 08:03:58", - "layeringOrder": 1, - "nickname": "XRT Open/Al_thick", - "sourceId": 70, - "start": "2006-10-27 04:10:52", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Open" - }, - { - "label": "Filter Wheel 2", - "name": "Al_thick" - } - ] - }, - "Be_thick": { - "end": "2013-10-22 00:25:13", - "layeringOrder": 1, - "nickname": "XRT Open/Be_thick", - "sourceId": 71, - "start": "2006-10-27 04:22:32", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Open" - }, - { - "label": "Filter Wheel 2", - "name": "Be_thick" - } - ] - }, - "Gband": { - "end": "2013-10-22 08:00:58", - "layeringOrder": 1, - "nickname": "XRT Open/Gband", - "sourceId": 72, - "start": "2006-10-24 09:35:12", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Open" - }, - { - "label": "Filter Wheel 2", - "name": "Gband" - } - ] - }, - "Open": { - "end": "2012-06-19 11:52:20", - "layeringOrder": 1, - "nickname": "XRT Open/Open", - "sourceId": 73, - "start": "2006-12-05 08:04:05", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Open" - }, - { - "label": "Filter Wheel 2", - "name": "Open" - } - ] - }, - "Ti_poly": { - "end": "2013-10-22 08:28:11", - "layeringOrder": 1, - "nickname": "XRT Open/Ti_poly", - "sourceId": 74, - "start": "2006-10-26 22:56:37", - "uiLabels": [ - { - "label": "Observatory", - "name": "Hinode" - }, - { - "label": "Instrument", - "name": "XRT" - }, - { - "label": "Filter Wheel 1", - "name": "Open" - }, - { - "label": "Filter Wheel 2", - "name": "Ti_poly" - } - ] - } - } - } - }, - "PROBA2": { - "SWAP": { - "174": { - "end": "2013-12-05 10:56:16", - "layeringOrder": 1, - "nickname": "SWAP 174", - "sourceId": 32, - "start": "2010-01-04 17:00:50", - "uiLabels": [ - { - "label": "Observatory", - "name": "PROBA2" - }, - { - "label": "Instrument", - "name": "SWAP" - }, - { - "label": "Measurement", - "name": "174" - } - ] - } - } - }, - "SDO": { - "AIA": { - "131": { - "end": "2013-12-05 13:43:44", - "layeringOrder": 1, - "nickname": "AIA 131", - "sourceId": 9, - "start": "2010-06-02 00:05:34", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "131" - } - ] - }, - "1600": { - "end": "2013-12-05 13:49:28", - "layeringOrder": 1, - "nickname": "AIA 1600", - "sourceId": 15, - "start": "2010-06-02 00:05:30", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "1600" - } - ] - }, - "1700": { - "end": "2013-12-05 13:50:30", - "layeringOrder": 1, - "nickname": "AIA 1700", - "sourceId": 16, - "start": "2010-06-23 00:00:31", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "1700" - } - ] - }, - "171": { - "end": "2013-12-05 13:44:47", - "layeringOrder": 1, - "nickname": "AIA 171", - "sourceId": 10, - "start": "2010-06-02 00:05:36", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "171" - } - ] - }, - "193": { - "end": "2013-12-05 13:45:42", - "layeringOrder": 1, - "nickname": "AIA 193", - "sourceId": 11, - "start": "2010-06-02 00:05:31", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "193" - } - ] - }, - "211": { - "end": "2013-12-05 13:46:35", - "layeringOrder": 1, - "nickname": "AIA 211", - "sourceId": 12, - "start": "2010-06-02 00:05:37", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "211" - } - ] - }, - "304": { - "end": "2013-12-05 13:48:43", - "layeringOrder": 1, - "nickname": "AIA 304", - "sourceId": 13, - "start": "2010-06-02 00:05:39", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "304" - } - ] - }, - "335": { - "end": "2013-12-05 13:49:38", - "layeringOrder": 1, - "nickname": "AIA 335", - "sourceId": 14, - "start": "2010-06-02 00:05:28", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "335" - } - ] - }, - "4500": { - "end": "2013-12-05 13:00:07", - "layeringOrder": 1, - "nickname": "AIA 4500", - "sourceId": 17, - "start": "2010-06-02 00:05:44", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "4500" - } - ] - }, - "94": { - "end": "2013-12-05 13:43:01", - "layeringOrder": 1, - "nickname": "AIA 94", - "sourceId": 8, - "start": "2010-06-02 00:05:33", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "AIA" - }, - { - "label": "Measurement", - "name": "94" - } - ] - } - }, - "HMI": { - "continuum": { - "end": "2013-12-05 11:20:40", - "layeringOrder": 1, - "nickname": "HMI Int", - "sourceId": 18, - "start": "2010-12-06 06:53:41", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "HMI" - }, - { - "label": "Measurement", - "name": "continuum" - } - ] - }, - "magnetogram": { - "end": "2013-12-05 12:18:25", - "layeringOrder": 1, - "nickname": "HMI Mag", - "sourceId": 19, - "start": "2010-12-06 06:53:41", - "uiLabels": [ - { - "label": "Observatory", - "name": "SDO" - }, - { - "label": "Instrument", - "name": "HMI" - }, - { - "label": "Measurement", - "name": "magnetogram" - } - ] - } - } - }, - "SOHO": { - "EIT": { - "171": { - "end": "2013-08-07 13:00:13", - "layeringOrder": 1, - "nickname": "EIT 171", - "sourceId": 0, - "start": "1996-01-15 21:39:21", - "uiLabels": [ - { - "label": "Observatory", - "name": "SOHO" - }, - { - "label": "Instrument", - "name": "EIT" - }, - { - "label": "Measurement", - "name": "171" - } - ] - }, - "195": { - "end": "2013-08-07 01:13:50", - "layeringOrder": 1, - "nickname": "EIT 195", - "sourceId": 1, - "start": "1996-01-15 20:51:47", - "uiLabels": [ - { - "label": "Observatory", - "name": "SOHO" - }, - { - "label": "Instrument", - "name": "EIT" - }, - { - "label": "Measurement", - "name": "195" - } - ] - }, - "284": { - "end": "2013-08-07 13:06:09", - "layeringOrder": 1, - "nickname": "EIT 284", - "sourceId": 2, - "start": "1996-01-15 21:04:17", - "uiLabels": [ - { - "label": "Observatory", - "name": "SOHO" - }, - { - "label": "Instrument", - "name": "EIT" - }, - { - "label": "Measurement", - "name": "284" - } - ] - }, - "304": { - "end": "2013-08-07 01:19:42", - "layeringOrder": 1, - "nickname": "EIT 304", - "sourceId": 3, - "start": "1996-01-15 22:00:17", - "uiLabels": [ - { - "label": "Observatory", - "name": "SOHO" - }, - { - "label": "Instrument", - "name": "EIT" - }, - { - "label": "Measurement", - "name": "304" - } - ] - } - }, - "LASCO": { - "C2": { - "white-light": { - "end": "2013-12-05 07:12:05", - "layeringOrder": 2, - "nickname": "LASCO C2", - "sourceId": 4, - "start": "1996-04-01 01:12:15", - "uiLabels": [ - { - "label": "Observatory", - "name": "SOHO" - }, - { - "label": "Instrument", - "name": "LASCO" - }, - { - "label": "Detector", - "name": "C2" - }, - { - "label": "Measurement", - "name": "white-light" - } - ] - } - }, - "C3": { - "white-light": { - "end": "2013-12-05 07:18:05", - "layeringOrder": 3, - "nickname": "LASCO C3", - "sourceId": 5, - "start": "1996-04-14 09:48:18", - "uiLabels": [ - { - "label": "Observatory", - "name": "SOHO" - }, - { - "label": "Instrument", - "name": "LASCO" - }, - { - "label": "Detector", - "name": "C3" - }, - { - "label": "Measurement", - "name": "white-light" - } - ] - } - } - }, - "MDI": { - "continuum": { - "end": "2011-01-11 22:39:00", - "layeringOrder": 1, - "nickname": "MDI Int", - "sourceId": 7, - "start": "1996-05-19 19:08:35", - "uiLabels": [ - { - "label": "Observatory", - "name": "SOHO" - }, - { - "label": "Instrument", - "name": "MDI" - }, - { - "label": "Measurement", - "name": "continuum" - } - ] - }, - "magnetogram": { - "end": "2011-01-11 22:39:00", - "layeringOrder": 1, - "nickname": "MDI Mag", - "sourceId": 6, - "start": "1996-04-21 00:30:04", - "uiLabels": [ - { - "label": "Observatory", - "name": "SOHO" - }, - { - "label": "Instrument", - "name": "MDI" - }, - { - "label": "Measurement", - "name": "magnetogram" - } - ] - } - } - }, - "STEREO_A": { - "SECCHI": { - "COR1": { - "white-light": { - "end": "2013-12-01 09:50:00", - "layeringOrder": 2, - "nickname": "COR1-A", - "sourceId": 28, - "start": "2010-01-01 00:05:00", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_A" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "COR1" - }, - { - "label": "Measurement", - "name": "white-light" - } - ] - } - }, - "COR2": { - "white-light": { - "end": "2013-11-30 23:54:00", - "layeringOrder": 3, - "nickname": "COR2-A", - "sourceId": 29, - "start": "2010-01-01 00:24:00", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_A" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "COR2" - }, - { - "label": "Measurement", - "name": "white-light" - } - ] - } - }, - "EUVI": { - "171": { - "end": "2013-11-30 22:14:00", - "layeringOrder": 1, - "nickname": "EUVI-A 171", - "sourceId": 20, - "start": "2010-01-01 00:14:00", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_A" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "EUVI" - }, - { - "label": "Measurement", - "name": "171" - } - ] - }, - "195": { - "end": "2013-11-30 23:55:30", - "layeringOrder": 1, - "nickname": "EUVI-A 195", - "sourceId": 21, - "start": "2010-01-01 00:05:30", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_A" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "EUVI" - }, - { - "label": "Measurement", - "name": "195" - } - ] - }, - "284": { - "end": "2013-11-30 22:16:30", - "layeringOrder": 1, - "nickname": "EUVI-A 284", - "sourceId": 22, - "start": "2010-01-01 00:16:30", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_A" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "EUVI" - }, - { - "label": "Measurement", - "name": "284" - } - ] - }, - "304": { - "end": "2013-11-30 23:56:15", - "layeringOrder": 1, - "nickname": "EUVI-A 304", - "sourceId": 23, - "start": "2010-01-01 00:06:15", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_A" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "EUVI" - }, - { - "label": "Measurement", - "name": "304" - } - ] - } - } - } - }, - "STEREO_B": { - "SECCHI": { - "COR1": { - "white-light": { - "end": "2013-12-01 03:51:00", - "layeringOrder": 2, - "nickname": "COR1-B", - "sourceId": 30, - "start": "2010-01-01 00:05:37", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_B" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "COR1" - }, - { - "label": "Measurement", - "name": "white-light" - } - ] - } - }, - "COR2": { - "white-light": { - "end": "2013-11-30 23:55:00", - "layeringOrder": 3, - "nickname": "COR2-B", - "sourceId": 31, - "start": "2010-01-01 00:24:37", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_B" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "COR2" - }, - { - "label": "Measurement", - "name": "white-light" - } - ] - } - }, - "EUVI": { - "171": { - "end": "2013-11-30 22:15:00", - "layeringOrder": 1, - "nickname": "EUVI-B 171", - "sourceId": 24, - "start": "2010-01-01 00:07:52", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_B" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "EUVI" - }, - { - "label": "Measurement", - "name": "171" - } - ] - }, - "195": { - "end": "2013-11-30 23:56:30", - "layeringOrder": 1, - "nickname": "EUVI-B 195", - "sourceId": 25, - "start": "2010-01-01 00:06:07", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_B" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "EUVI" - }, - { - "label": "Measurement", - "name": "195" - } - ] - }, - "284": { - "end": "2013-11-30 22:17:30", - "layeringOrder": 1, - "nickname": "EUVI-B 284", - "sourceId": 26, - "start": "2010-01-01 00:07:07", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_B" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "EUVI" - }, - { - "label": "Measurement", - "name": "284" - } - ] - }, - "304": { - "end": "2013-11-30 23:57:15", - "layeringOrder": 1, - "nickname": "EUVI-B 304", - "sourceId": 27, - "start": "2010-01-01 00:06:52", - "uiLabels": [ - { - "label": "Observatory", - "name": "STEREO_B" - }, - { - "label": "Instrument", - "name": "SECCHI" - }, - { - "label": "Detector", - "name": "EUVI" - }, - { - "label": "Measurement", - "name": "304" - } - ] - } - } - } - }, - "TRACE": { - "1216": { - "end": "2008-10-03 00:20:37", - "layeringOrder": 1, - "nickname": "TRACE 1216", - "sourceId": 78, - "start": "2008-09-19 01:04:32", - "uiLabels": [ - { - "label": "Observatory", - "name": "TRACE" - }, - { - "label": "Measurement", - "name": "1216" - } - ] - }, - "1550": { - "end": "2008-10-03 00:20:19", - "layeringOrder": 1, - "nickname": "TRACE 1550", - "sourceId": 79, - "start": "2008-09-18 00:45:30", - "uiLabels": [ - { - "label": "Observatory", - "name": "TRACE" - }, - { - "label": "Measurement", - "name": "1550" - } - ] - }, - "1600": { - "end": "2008-10-06 22:08:53", - "layeringOrder": 1, - "nickname": "TRACE 1600", - "sourceId": 80, - "start": "2008-09-18 10:52:31", - "uiLabels": [ - { - "label": "Observatory", - "name": "TRACE" - }, - { - "label": "Measurement", - "name": "1600" - } - ] - }, - "1700": { - "end": "2008-10-03 00:20:26", - "layeringOrder": 1, - "nickname": "TRACE 1700", - "sourceId": 81, - "start": "2008-09-19 01:04:21", - "uiLabels": [ - { - "label": "Observatory", - "name": "TRACE" - }, - { - "label": "Measurement", - "name": "1700" - } - ] - }, - "171": { - "end": "2008-10-06 22:55:32", - "layeringOrder": 1, - "nickname": "TRACE 171", - "sourceId": 75, - "start": "2008-09-18 00:00:54", - "uiLabels": [ - { - "label": "Observatory", - "name": "TRACE" - }, - { - "label": "Measurement", - "name": "171" - } - ] - }, - "195": { - "end": "2008-10-06 06:59:56", - "layeringOrder": 1, - "nickname": "TRACE 195", - "sourceId": 76, - "start": "2008-09-18 00:38:24", - "uiLabels": [ - { - "label": "Observatory", - "name": "TRACE" - }, - { - "label": "Measurement", - "name": "195" - } - ] - }, - "284": { - "end": "2008-09-24 19:25:02", - "layeringOrder": 1, - "nickname": "TRACE 284", - "sourceId": 77, - "start": "2008-09-18 10:51:36", - "uiLabels": [ - { - "label": "Observatory", - "name": "TRACE" - }, - { - "label": "Measurement", - "name": "284" - } - ] - }, - "white-light": { - "end": "2008-10-06 22:54:05", - "layeringOrder": 1, - "nickname": "TRACE white-light", - "sourceId": 82, - "start": "2008-09-19 01:04:24", - "uiLabels": [ - { - "label": "Observatory", - "name": "TRACE" - }, - { - "label": "Measurement", - "name": "white-light" - } - ] - } - }, - "Yohkoh": { - "SXT": { - "AlMgMn": { - "end": "2001-12-14 20:58:33", - "layeringOrder": 1, - "nickname": "SXT AlMgMn", - "sourceId": 33, - "start": "1991-09-13 21:53:40", - "uiLabels": [ - { - "label": "Observatory", - "name": "Yohkoh" - }, - { - "label": "Instrument", - "name": "SXT" - }, - { - "label": "Filter", - "name": "AlMgMn" - } - ] - }, - "thin-Al": { - "end": "2001-12-14 08:20:43", - "layeringOrder": 1, - "nickname": "SXT thin-Al", - "sourceId": 34, - "start": "1991-09-13 21:49:24", - "uiLabels": [ - { - "label": "Observatory", - "name": "Yohkoh" - }, - { - "label": "Instrument", - "name": "SXT" - }, - { - "label": "Measurement", - "name": "thin-Al" - } - ] - }, - "white-light": { - "end": "1992-11-13 17:05:32", - "layeringOrder": 1, - "nickname": "SXT white-light", - "sourceId": 35, - "start": "1991-09-11 23:02:54", - "uiLabels": [ - { - "label": "Observatory", - "name": "Yohkoh" - }, - { - "label": "Instrument", - "name": "SXT" - }, - { - "label": "Measurement", - "name": "white-light" - } - ] - } - } - } - } - - -Example: Get Data Sources Verbose (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Output the hierarchical list of available datasources in a format that is -compatible with the JHelioviewer desktop client. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getDataSources/?verbose=true&enable=[Yohkoh,STEREO_A,STEREO_B] - -.. code-block:: - :caption: Example Response: - - { - "SDO": { - "children": { - "AIA": { - "children": { - "131": { - "description": "131 Ångström extreme ultraviolet", - "end": "2013-12-05 13:43:44", - "label": "Measurement", - "layeringOrder": 1, - "name": "131 Å", - "nickname": "AIA 131", - "sourceId": 9, - "start": "2010-06-02 00:05:34" - }, - "1600": { - "description": "1600 Ångström extreme ultraviolet", - "end": "2013-12-05 13:49:28", - "label": "Measurement", - "layeringOrder": 1, - "name": "1600 Å", - "nickname": "AIA 1600", - "sourceId": 15, - "start": "2010-06-02 00:05:30" - }, - "1700": { - "description": "1700 Ångström extreme ultraviolet", - "end": "2013-12-05 13:50:30", - "label": "Measurement", - "layeringOrder": 1, - "name": "1700 Å", - "nickname": "AIA 1700", - "sourceId": 16, - "start": "2010-06-23 00:00:31" - }, - "171": { - "default": true, - "description": "171 Ångström extreme ultraviolet", - "end": "2013-12-05 13:44:47", - "label": "Measurement", - "layeringOrder": 1, - "name": "171 Å", - "nickname": "AIA 171", - "sourceId": 10, - "start": "2010-06-02 00:05:36" - }, - "193": { - "description": "193 Ångström extreme ultraviolet", - "end": "2013-12-05 13:45:42", - "label": "Measurement", - "layeringOrder": 1, - "name": "193 Å", - "nickname": "AIA 193", - "sourceId": 11, - "start": "2010-06-02 00:05:31" - }, - "211": { - "description": "211 Ångström extreme ultraviolet", - "end": "2013-12-05 13:46:35", - "label": "Measurement", - "layeringOrder": 1, - "name": "211 Å", - "nickname": "AIA 211", - "sourceId": 12, - "start": "2010-06-02 00:05:37" - }, - "304": { - "description": "304 Ångström extreme ultraviolet", - "end": "2013-12-05 13:48:43", - "label": "Measurement", - "layeringOrder": 1, - "name": "304 Å", - "nickname": "AIA 304", - "sourceId": 13, - "start": "2010-06-02 00:05:39" - }, - "335": { - "description": "335 Ångström extreme ultraviolet", - "end": "2013-12-05 13:49:38", - "label": "Measurement", - "layeringOrder": 1, - "name": "335 Å", - "nickname": "AIA 335", - "sourceId": 14, - "start": "2010-06-02 00:05:28" - }, - "4500": { - "description": "4500 Ångström extreme ultraviolet", - "end": "2013-12-05 13:00:07", - "label": "Measurement", - "layeringOrder": 1, - "name": "4500 Å", - "nickname": "AIA 4500", - "sourceId": 17, - "start": "2010-06-02 00:05:44" - }, - "94": { - "description": "94 Ångström extreme ultraviolet", - "end": "2013-12-05 13:43:01", - "label": "Measurement", - "layeringOrder": 1, - "name": "94 Å", - "nickname": "AIA 94", - "sourceId": 8, - "start": "2010-06-02 00:05:33" - } - }, - "default": true, - "description": "Atmospheric Imaging Assembly", - "label": "Instrument", - "name": "AIA" - }, - "HMI": { - "children": { - "continuum": { - "description": "Intensitygram", - "end": "2013-12-05 11:20:40", - "label": "Measurement", - "layeringOrder": 1, - "name": "Continuum", - "nickname": "HMI Int", - "sourceId": 18, - "start": "2010-12-06 06:53:41" - }, - "magnetogram": { - "description": "Magnetogram", - "end": "2013-12-05 12:18:25", - "label": "Measurement", - "layeringOrder": 1, - "name": "Magnetogram", - "nickname": "HMI Mag", - "sourceId": 19, - "start": "2010-12-06 06:53:41" - } - }, - "description": "Helioseismic and Magnetic Imager", - "label": "Instrument", - "name": "HMI" - } - }, - "default": true, - "description": "Solar Dynamics Observatory", - "label": "Observatory", - "name": "SDO" - }, - "SOHO": { - "children": { - "EIT": { - "children": { - "171": { - "description": "171 Ångström extreme ultraviolet", - "end": "2013-08-07 13:00:13", - "label": "Measurement", - "layeringOrder": 1, - "name": "171 Å", - "nickname": "EIT 171", - "sourceId": 0, - "start": "1996-01-15 21:39:21" - }, - "195": { - "description": "195 Ångström extreme ultraviolet", - "end": "2013-08-07 01:13:50", - "label": "Measurement", - "layeringOrder": 1, - "name": "195 Å", - "nickname": "EIT 195", - "sourceId": 1, - "start": "1996-01-15 20:51:47" - }, - "284": { - "description": "284 Ångström extreme ultraviolet", - "end": "2013-08-07 13:06:09", - "label": "Measurement", - "layeringOrder": 1, - "name": "284 Å", - "nickname": "EIT 284", - "sourceId": 2, - "start": "1996-01-15 21:04:17" - }, - "304": { - "description": "304 Ångström extreme ultraviolet", - "end": "2013-08-07 01:19:42", - "label": "Measurement", - "layeringOrder": 1, - "name": "304 Å", - "nickname": "EIT 304", - "sourceId": 3, - "start": "1996-01-15 22:00:17" - } - }, - "description": "Extreme ultraviolet Imaging Telescope", - "label": "Instrument", - "name": "EIT" - }, - "LASCO": { - "children": { - "C2": { - "children": { - "white-light": { - "description": "White Light", - "end": "2013-12-05 07:12:05", - "label": "Measurement", - "layeringOrder": 2, - "name": "White Light", - "nickname": "LASCO C2", - "sourceId": 4, - "start": "1996-04-01 01:12:15" - } - }, - "description": "Coronograph 2", - "label": "Detector", - "name": "C2" - }, - "C3": { - "children": { - "white-light": { - "description": "White Light", - "end": "2013-12-05 07:18:05", - "label": "Measurement", - "layeringOrder": 3, - "name": "White Light", - "nickname": "LASCO C3", - "sourceId": 5, - "start": "1996-04-14 09:48:18" - } - }, - "description": "Coronograph 3", - "label": "Detector", - "name": "C3" - } - }, - "description": "The Large Angle Spectrometric Coronagraph", - "label": "Instrument", - "name": "LASCO" - }, - "MDI": { - "children": { - "continuum": { - "description": "Intensitygram", - "end": "2011-01-11 22:39:00", - "label": "Measurement", - "layeringOrder": 1, - "name": "Continuum", - "nickname": "MDI Int", - "sourceId": 7, - "start": "1996-05-19 19:08:35" - }, - "magnetogram": { - "description": "Magnetogram", - "end": "2011-01-11 22:39:00", - "label": "Measurement", - "layeringOrder": 1, - "name": "Magnetogram", - "nickname": "MDI Mag", - "sourceId": 6, - "start": "1996-04-21 00:30:04" - } - }, - "description": "Michelson Doppler Imager", - "label": "Instrument", - "name": "MDI" - } - }, - "description": "Solar and Heliospheric Observatory", - "label": "Observatory", - "name": "SOHO" - }, - "STEREO_A": { - "children": { - "SECCHI": { - "children": { - "COR1": { - "children": { - "white-light": { - "description": "White Light", - "end": "2013-12-01 09:50:00", - "label": "Measurement", - "layeringOrder": 2, - "name": "White Light", - "nickname": "COR1-A", - "sourceId": 28, - "start": "2010-01-01 00:05:00" - } - }, - "description": "Coronograph 1", - "label": "Detector", - "name": "COR1" - }, - "COR2": { - "children": { - "white-light": { - "description": "White Light", - "end": "2013-11-30 23:54:00", - "label": "Measurement", - "layeringOrder": 3, - "name": "White Light", - "nickname": "COR2-A", - "sourceId": 29, - "start": "2010-01-01 00:24:00" - } - }, - "description": "Coronograph 2", - "label": "Detector", - "name": "COR2" - }, - "EUVI": { - "children": { - "171": { - "description": "171 Ångström extreme ultraviolet", - "end": "2013-11-30 22:14:00", - "label": "Measurement", - "layeringOrder": 1, - "name": "171 Å", - "nickname": "EUVI-A 171", - "sourceId": 20, - "start": "2010-01-01 00:14:00" - }, - "195": { - "description": "195 Ångström extreme ultraviolet", - "end": "2013-11-30 23:55:30", - "label": "Measurement", - "layeringOrder": 1, - "name": "195 Å", - "nickname": "EUVI-A 195", - "sourceId": 21, - "start": "2010-01-01 00:05:30" - }, - "284": { - "description": "284 Ångström extreme ultraviolet", - "end": "2013-11-30 22:16:30", - "label": "Measurement", - "layeringOrder": 1, - "name": "284 Å", - "nickname": "EUVI-A 284", - "sourceId": 22, - "start": "2010-01-01 00:16:30" - }, - "304": { - "description": "304 Ångström extreme ultraviolet", - "end": "2013-11-30 23:56:15", - "label": "Measurement", - "layeringOrder": 1, - "name": "304 Å", - "nickname": "EUVI-A 304", - "sourceId": 23, - "start": "2010-01-01 00:06:15" - } - }, - "description": "Extreme Ultraviolet Imager", - "label": "Detector", - "name": "EUVI" - } - }, - "description": "Sun Earth Connection Coronal and Heliospheric Investigation", - "label": "Instrument", - "name": "SECCHI" - } - }, - "description": "Solar Terrestrial Relations Observatory Ahead", - "label": "Observatory", - "name": "STEREO_A" - }, - "STEREO_B": { - "children": { - "SECCHI": { - "children": { - "COR1": { - "children": { - "white-light": { - "description": "White Light", - "end": "2013-12-01 03:51:00", - "label": "Measurement", - "layeringOrder": 2, - "name": "White Light", - "nickname": "COR1-B", - "sourceId": 30, - "start": "2010-01-01 00:05:37" - } - }, - "description": "Coronograph 1", - "label": "Detector", - "name": "COR1" - }, - "COR2": { - "children": { - "white-light": { - "description": "White Light", - "end": "2013-11-30 23:55:00", - "label": "Measurement", - "layeringOrder": 3, - "name": "White Light", - "nickname": "COR2-B", - "sourceId": 31, - "start": "2010-01-01 00:24:37" - } - }, - "description": "Coronograph 2", - "label": "Detector", - "name": "COR2" - }, - "EUVI": { - "children": { - "171": { - "description": "171 Ångström extreme ultraviolet", - "end": "2013-11-30 22:15:00", - "label": "Measurement", - "layeringOrder": 1, - "name": "171 Å", - "nickname": "EUVI-B 171", - "sourceId": 24, - "start": "2010-01-01 00:07:52" - }, - "195": { - "description": "195 Ångström extreme ultraviolet", - "end": "2013-11-30 23:56:30", - "label": "Measurement", - "layeringOrder": 1, - "name": "195 Å", - "nickname": "EUVI-B 195", - "sourceId": 25, - "start": "2010-01-01 00:06:07" - }, - "284": { - "description": "284 Ångström extreme ultraviolet", - "end": "2013-11-30 22:17:30", - "label": "Measurement", - "layeringOrder": 1, - "name": "284 Å", - "nickname": "EUVI-B 284", - "sourceId": 26, - "start": "2010-01-01 00:07:07" - }, - "304": { - "description": "304 Ångström extreme ultraviolet", - "end": "2013-11-30 23:57:15", - "label": "Measurement", - "layeringOrder": 1, - "name": "304 Å", - "nickname": "EUVI-B 304", - "sourceId": 27, - "start": "2010-01-01 00:06:52" - } - }, - "description": "Extreme Ultraviolet Imager", - "label": "Detector", - "name": "EUVI" - } - }, - "description": "Sun Earth Connection Coronal and Heliospheric Investigation", - "label": "Instrument", - "name": "SECCHI" - } - }, - "description": "Solar Terrestrial Relations Observatory Behind", - "label": "Observatory", - "name": "STEREO_B" - }, - "Yohkoh": { - "children": { - "SXT": { - "children": { - "AlMgMn": { - "description": "Al/Mg/Mn filter (2.4 Å - 32 Å pass band)", - "end": "2001-12-14 20:58:33", - "label": "Filter", - "layeringOrder": 1, - "name": "AlMgMn", - "nickname": "SXT AlMgMn", - "sourceId": 33, - "start": "1991-09-13 21:53:40" - }, - "thin-Al": { - "description": "11.6 μm Al filter (2.4 Å - 13 Å pass band)", - "end": "2001-12-14 08:20:43", - "label": "Measurement", - "layeringOrder": 1, - "name": "Thin Al", - "nickname": "SXT thin-Al", - "sourceId": 34, - "start": "1991-09-13 21:49:24" - }, - "white-light": { - "description": "No filter", - "end": "1992-11-13 17:05:32", - "label": "Measurement", - "layeringOrder": 1, - "name": "White Light", - "nickname": "SXT white-light", - "sourceId": 35, - "start": "1991-09-11 23:02:54" - } - }, - "description": "Soft X-ray Telescope", - "label": "Instrument", - "name": "SXT" - } - }, - "description": "Yohkoh (Solar-A)", - "label": "Observatory", - "name": "Yohkoh" - } - } - -Output the hierarchical list of available datasources in a format that is -compatible with the JHelioviewer desktop client. diff --git a/docs/src/source/api/api_groups/official_clients/getTile.rst b/docs/src/source/api/api_groups/official_clients/getTile.rst deleted file mode 100644 index 2beb4a307..000000000 --- a/docs/src/source/api/api_groups/official_clients/getTile.rst +++ /dev/null @@ -1,49 +0,0 @@ -getTile -^^^^^^^ -GET /v2/getTile/ - -Request a single image tile to be used in the Helioviewer.org Viewport. Tiles -are 512x512 pixel PNG images, generated for a given image scale from the -intermediary JPEG2000 image files. - -Use the `getClosestImage` API endpoint to obtain the desired image identifier -for the `id` parameter. - -.. table:: Request Parameters: - - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +==============+=============+========+============+=======================================================================================================================+ - | id | Required | number | 36275490 | Unique image identifier. | - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - | x | Required | number | -1 | Tile position. | - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - | y | Required | number | -1 | Tile position. | - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - | imageScale | Required | number | 2.42044088 | Image scale in arcseconds per pixel. | - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - | difference | Optional | number | 0 | | Specify image type difference. | - | | | | | | 0 - Display regular image. (default) | - | | | | | | 1 - Running difference image. | - | | | | | | 2 - Base difference image. | - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - | diffCount | Optional | number | 60 | Used to display Running difference image. Work with "diffTime" parameter and set amount of time to use in time period | - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - | diffTime | Optional | number | 1 | | Select Running difference time period: | - | | | | | | 1 - Minutes; | - | | | | | | 2 - Hours; | - | | | | | | 3 - Days; | - | | | | | | 4 - Weeks; | - | | | | | | 5 - Month; | - | | | | | | 6 - Years. | - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - | baseDiffTime | Conditional | number | string | Date/Time string for Base difference images. Required when difference is 1 or 2. | - +--------------+-------------+--------+------------+-----------------------------------------------------------------------------------------------------------------------+ - -Example: binary (PNG image data) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getTile/?id=36275490&x=-1&y=-1&imageScale=2.42044088 diff --git a/docs/src/source/api/api_groups/official_clients/shortenURL.rst b/docs/src/source/api/api_groups/official_clients/shortenURL.rst deleted file mode 100644 index 9d3eb56e3..000000000 --- a/docs/src/source/api/api_groups/official_clients/shortenURL.rst +++ /dev/null @@ -1,50 +0,0 @@ -shortenURL -^^^^^^^^^^ -GET /v2/shortenURL/ - -Shorten a Helioviewer.org URL with the bit.ly URL shortening web service. - -.. table:: Request Parameters: - - +-------------+----------+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +=============+==========+========+=============================================================================================================================================================================================================================+===============================================================+ - | queryString | Required | string | date%3D2014-02-25T15%3A18%3A07.000Z%26imageScale%3D2.4204409%26centerX%3D-410.06307838566283%26centerY%3D-244.6662219973343%26imageLayers%3D%255BSDO%2CAIA%2CAIA%2C304%2C1%2C100%255D%26eventLayers%3D%26eventLabels%3Dtrue | URL-encoded link to shorten. (Not only the queryString) | - +-------------+----------+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------+ - | callback | Optional | string | | Wrap the response object in a function call of your choosing. | - +-------------+----------+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------+ - -Example: Shortened URL (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/shortenURL/?queryString=http://helioviewer.org/?date%3D2014-02-25T15%3A18%3A07.000Z%26imageScale%3D2.4204409%26centerX%3D-410.06307838566283%26centerY%3D-244.6662219973343%26imageLayers%3D%255BSDO%2CAIA%2CAIA%2C304%2C1%2C100%255D%26eventLayers%3D%26eventLabels%3Dtrue - -.. code-block:: - :caption: Example Response: - - { - "status_code": 200, - "status_txt": "OK", - "data": { - "long_url": "http://helioviewer.org/?date=2014-02-25T15:18:07.000Z&imageScale=2.4204409¢erX=-410.06307838566283¢erY=-244.6662219973343&imageLayers=[SDO,AIA,AIA,304,1,100]&eventLayers=&eventLabels=true", - "url": "http://bit.ly/1hbCHMq", - "hash": "1hbCHMq", - "global_hash": "1hbCHMr", - "new_hash": 0 - } - } - -.. table:: Response Description - - +-------------+----------+--------+------------------------+ - | Parameter | Required | Type | Description | - +=============+==========+========+========================+ - | status | Required | string | Link shortener status | - +-------------+----------+--------+------------------------+ - | status_txt | Required | string | Status text | - +-------------+----------+--------+------------------------+ - | data | Required | string | Shortened link details | - +-------------+----------+--------+------------------------+ diff --git a/docs/src/source/api/api_groups/screenshots.rst b/docs/src/source/api/api_groups/screenshots.rst deleted file mode 100644 index e9918f114..000000000 --- a/docs/src/source/api/api_groups/screenshots.rst +++ /dev/null @@ -1,12 +0,0 @@ -Screenshots ------------ - -The screenshot APIs can be used to generate custom videos of up to three image -datasource layers composited together. Solar feature/event markers pins, -extended region polygons, associated text labels, and a size-of-earth scale -indicator can optionally be overlayed onto a movie. - -.. include:: screenshots/takeScreenshot.rst -.. include:: screenshots/postScreenshot.rst -.. include:: screenshots/downloadScreenshot.rst -.. include:: screenshots/getEclipseImage.rst diff --git a/docs/src/source/api/api_groups/screenshots/downloadScreenshot.rst b/docs/src/source/api/api_groups/screenshots/downloadScreenshot.rst deleted file mode 100644 index 03bd9e35c..000000000 --- a/docs/src/source/api/api_groups/screenshots/downloadScreenshot.rst +++ /dev/null @@ -1,22 +0,0 @@ -downloadScreenshot -^^^^^^^^^^^^^^^^^^ -GET /v2/downloadScreenshot/ - -Download a custom screenshot (that was generated using the `takeScreenshot` API -endpoint). - -.. table:: Request Parameters: - - +-----------+----------+--------+---------+----------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+========+=========+========================================================================================+ - | id | Required | number | 3240748 | Unique screenshot identifier (provided by the response to a `takeScreenshot` request). | - +-----------+----------+--------+---------+----------------------------------------------------------------------------------------+ - -Example: binary (PNG image data) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/downloadScreenshot/?id=3240748 diff --git a/docs/src/source/api/api_groups/screenshots/getEclipseImage.rst b/docs/src/source/api/api_groups/screenshots/getEclipseImage.rst deleted file mode 100644 index 57e778019..000000000 --- a/docs/src/source/api/api_groups/screenshots/getEclipseImage.rst +++ /dev/null @@ -1,30 +0,0 @@ -getEclipseImage -^^^^^^^^^^^^^^^ -GET /v2/getEclipseImage/ - -Generates a grayscale image of LASCO C2 with a preset FOV and optional moon. - -.. table:: Request Parameters: - - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +=============+==========+=========+========================================================+=============================================================================================================================================================================+ - | moon | Optional | boolean | "true" or "false" | Show a moon in the place where the sun would be | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - - -Example: -~~~~~~~~ - -JSON response to "takeScreenshot" API requests. Assumes that the `display` -parameter was omitted or set to `false`. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getEclipseImage/ - -.. code-block:: - :caption: Example Response: - - Response is an image file. diff --git a/docs/src/source/api/api_groups/screenshots/postScreenshot.rst b/docs/src/source/api/api_groups/screenshots/postScreenshot.rst deleted file mode 100644 index 1bec34a03..000000000 --- a/docs/src/source/api/api_groups/screenshots/postScreenshot.rst +++ /dev/null @@ -1,215 +0,0 @@ -postScreenshot -^^^^^^^^^^^^^^ - -**URL:** ``/v2/postScreenshot/`` - -**Method:** ``POST`` - -**Content-Type:** ``application/json`` - -Generate a custom screenshot with JSON POST request. - -You must specify values for either `x1`, `y1`, `x2`, and `y2` -or `x0`, `y0`, `width` and `height` inside JSON. - -By default, the response is a JSON object containing a unique screenshot -identifier (`id`) that can be used to with the `downloadScreenshot` API endpoint. - -Set the `display` parameter to `true` to directly return the screenshot as -binary PNG image data in the response. - -Please note that each request causes the server to generate a screenshot from -scratch and is resource intensive. For performance reasons, you should cache the -response if you simply intend to serve exactly the same screenshot to multiple -users. - -Request Format -~~~~~~~~~~~~~~ - -The request must be a JSON object with the following structure: - -.. code-block:: json - - { - "date" : "2014-01-01T23:59:59Z", - "imageScale" : 2.4204409, - "layers" : "[3,1,100]" - } - -Parameters -~~~~~~~~~~ - -Request JSON object consist of following parameters - -.. list-table:: JSON Request Parameters: - :header-rows: 1 - - * - Parameter - - Required - - Type - - Example - - Description - * - ``date`` - - Required - - string - - 2014-01-01T23:59:59Z - - Desired date/time of the image. ISO 8601 combined UTC date and time UTC format. - * - ``imageScale`` - - Required - - number - - 2.4204409 - - Image scale in arcseconds per pixel. - * - ``layers`` - - Required - - string - - | [3,1,100] - | or - | [3,1,100,2,60,1,2010-03-01T12:12:12.000Z] - - Image datasource layer(s) to include in the screenshot. - * - ``eventsState`` - - Optional - - object - - | { - | "tree_HEK": { - | "labels_visible": true, - | "layers": [ - | { - | "event_type": "flare", - | "frms": ["frm10", "frm20"], - | "event_instances": ["flare--frm1--event1", "flare--frm2--event2"] - | } - | ] - | }, - | .... - | } - - | List feature/event types and FRMs to use to annotate the screenshot. Use the empty string to indicate that no feature/event annotations should be shown. - | To get more information about this structure, please see document : :ref:`events-state-page` - * - ``scale`` - - Optional - - boolean - - false - - Optionally overlay an image scale indicator. - * - ``scaleType`` - - Optional - - string - - earth - - Image scale indicator. - * - ``scaleX`` - - Optional - - number - - -1000 - - Horizontal offset of the image scale indicator in arcseconds with respect to the center of the Sun. - * - ``scaleY`` - - Optional - - number - - -500 - - Vertical offset of the image scale indicator in arcseconds with respect to the center of the Sun. - * - ``width`` - - Optional - - string - - 1920 - - Width of the field of view in pixels. (Used in conjunction width `x0`,`y0`, and `height`). - * - ``height`` - - Optional - - string - - 1200 - - Height of the field of view in pixels. (Used in conjunction width `x0`,`y0`, and `width`). - * - ``x0`` - - Optional - - string - - 0 - - 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`. - * - ``y0`` - - Optional - - string - - 0 - - 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`. - * - ``x1`` - - Optional - - string - - -5000 - - 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`. - * - ``y1`` - - Optional - - string - - -5000 - - 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`. - * - ``x2`` - - Optional - - string - - 5000 - - 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`. - * - ``y2`` - - Optional - - string - - 5000 - - 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`. - * - ``display`` - - Optional - - boolean - - false - - Set to `true` to directly output binary PNG image data. Default is `false` (which outputs a JSON object). - * - ``watermark`` - - Optional - - boolean - - true - - Optionally overlay a watermark consisting of a Helioviewer logo and the datasource abbreviation(s) and timestamp(s) displayed in the screenshot. - * - ``callback`` - - Optional - - string - - - - Wrap the response object in a function call of your choosing. - -Example: Post Screenshot (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -JSON response to "postScreenshot" API requests. Assumes that the `display` -parameter was omitted or set to `false`. - -.. code-block:: http - :caption: Example Request: - - POST /v2/postScreenshot/ HTTP/1.1 - Host: api.helioviewer.org - - Content-Type: application/json - { - "date" : "2014-01-01T23:59:59Z", - "imageScale" : 2.4204409, - "layers" : "[3,1,100]" - } - -.. code-block:: json - :caption: Example Response: - - { - "id": 3285980 - } - -.. table:: Response Description - - +-----------+----------+--------+-----------------------------------------------+ - | Parameter | Required | Type | Description | - +===========+==========+========+===============================================+ - | id | Required | string | Unique screenshot identifier (e.g. "3285980") | - +-----------+----------+--------+-----------------------------------------------+ - -Example: binary (PNG image data) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Set the `display` parameter to `true` to directly return binary PNG image data -in the response. - -.. code-block:: http - :caption: Example Request: - - POST /v2/postScreenshot/ HTTP/1.1 - Host: api.Helioviewer.org - - Content-Type: application/json - { - "date" : "2014-01-01T23:59:59Z", - "imageScale" : "2.4204409", - "layers" : "[3,1,100]", - "display" : true - } diff --git a/docs/src/source/api/api_groups/screenshots/takeScreenshot.rst b/docs/src/source/api/api_groups/screenshots/takeScreenshot.rst deleted file mode 100644 index c879f2e0d..000000000 --- a/docs/src/source/api/api_groups/screenshots/takeScreenshot.rst +++ /dev/null @@ -1,105 +0,0 @@ -takeScreenshot -^^^^^^^^^^^^^^ -GET /v2/takeScreenshot/ - -Generate a custom screenshot. - -You must specify values for either `x1`, `y1`, `x2`, and `y2` -or `x0`, `y0`, `width` and `height`. - -By default, the response is a JSON object containing a unique screenshot -identifier (`id`) that can be used to with the `downloadScreenshot` API endpoint. - -Set the `display` parameter to `true` to directly return the screenshot as -binary PNG image data in the response. - -Please note that each request causes the server to generate a screenshot from -scratch and is resource intensive. For performance reasons, you should cache the -response if you simply intend to serve exactly the same screenshot to multiple -users. - -.. table:: Request Parameters: - - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +=============+==========+=========+========================================================+=============================================================================================================================================================================+ - | date | Required | string | 2014-01-01T23:59:59Z | Desired date/time of the image. ISO 8601 combined UTC date and time UTC format. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | imageScale | Required | number | 2.4204409 | Image scale in arcseconds per pixel. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | layers | Required | string | | [3,1,100] | | - | | | | | or | | - | | | | | [3,1,100,2,60,1,2010-03-01T12:12:12.000Z] | Image datasource layer(s) to include in the screenshot. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | events | Optional | string | [AR,HMI_HARP;SPoCA,1],[CH,all,1] | List feature/event types and FRMs to use to annoate the movie. Use the empty string to indicate that no feature/event annotations should be shown. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | eventLabels | Optional | boolean | false | Optionally annotate each event marker with a text label. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scale | Optional | boolean | false | Optionally overlay an image scale indicator. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scaleType | Optional | string | earth | Image scale indicator. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scaleX | Optional | number | -1000 | Horizontal offset of the image scale indicator in arcseconds with respect to the center of the Sun. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | scaleY | Optional | number | -500 | Vertical offset of the image scale indicator in arcseconds with respect to the center of the Sun. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | width | Optional | string | 1920 | Width of the field of view in pixels. (Used in conjunction width `x0`,`y0`, and `height`). | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | height | Optional | string | 1200 | Height of the field of view in pixels. (Used in conjunction width `x0`,`y0`, and `width`). | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | x0 | Optional | string | 0 | 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`. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | y0 | Optional | string | 0 | 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`. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | x1 | Optional | string | -5000 | 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`. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | y1 | Optional | string | -5000 | 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`. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | x2 | Optional | string | 5000 | 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`. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | y2 | Optional | string | 5000 | 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`. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | display | Optional | boolean | false | Set to `true` to directly output binary PNG image data. Default is `false` (which outputs a JSON object). | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | watermark | Optional | boolean | true | Optionally overlay a watermark consisting of a Helioviewer logo and the datasource abbreviation(s) and timestamp(s) displayed in the screenshot. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | callback | Optional | string | | Wrap the response object in a function call of your choosing. | - +-------------+----------+---------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - - -Example: Take Screenshot (JSON) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -JSON response to "takeScreenshot" API requests. Assumes that the `display` -parameter was omitted or set to `false`. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/takeScreenshot/?date=2014-01-01T23:59:59Z&imageScale=2.4204409&layers=[SDO,AIA,AIA,335,1,100]&events=[AR,HMI_HARP;SPoCA,1],[CH,all,1]&eventsLabels=false&x0=0&y0=0&width=1920&height=1200 - -.. code-block:: - :caption: Example Response: - - { - "id": 3285980 - } - -.. table:: Response Description - - +-----------+----------+--------+-----------------------------------------------+ - | Parameter | Required | Type | Description | - +===========+==========+========+===============================================+ - | id | Required | string | Unique screenshot identifier (e.g. "3285980") | - +-----------+----------+--------+-----------------------------------------------+ - -Example: binary (PNG image data) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Set the `display` parameter to `true` to directly return binary PNG image data -in the response. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/takeScreenshot/?imageScale=2.4204409&layers=[SDO,AIA,AIA,304,1,100]&events=&eventLabels=true&scale=true&scaleType=earth&scaleX=0&scaleY=0&date=2014-02-25T15:53:00.136Z&x1=-929.2475775696686&x2=106.70112763033143&y1=-970.7984919973343&y2=486.3069298026657&display=true&watermark=true&events=[CH,all,1] diff --git a/docs/src/source/api/api_groups/solar_features_and_events.rst b/docs/src/source/api/api_groups/solar_features_and_events.rst deleted file mode 100644 index 8f8751a4d..000000000 --- a/docs/src/source/api/api_groups/solar_features_and_events.rst +++ /dev/null @@ -1,11 +0,0 @@ -Solar Features And Events -------------------------- - -Helioviewer.org's solar features and events annotation layer is powered by the -`Heliophysics Events Knowledgebase (HEK) `_ provided -by the `Lockheed Martin Solar & Astrophysics Laboratory (LMSAL) `_. - -Consult LMSAL's `HEK API Documentation `_ for -more information. - -.. include:: solar_features_and_events/events.rst \ No newline at end of file diff --git a/docs/src/source/api/api_groups/solar_features_and_events/events.rst b/docs/src/source/api/api_groups/solar_features_and_events/events.rst deleted file mode 100644 index 0aa7cdfcb..000000000 --- a/docs/src/source/api/api_groups/solar_features_and_events/events.rst +++ /dev/null @@ -1,155 +0,0 @@ -Events -^^^^^^ -GET /v2/events - -Returns a list of HEK events in the :ref:`helioviewer-event-format`. - -.. table:: `Request Parameters` - - +-----------+----------+--------+----------------------+------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+========+======================+============================================================+ - | startTime | Required | string | 2023-01-01T00:00:00Z | Specific time to get predictions for. | - +-----------+----------+--------+----------------------+------------------------------------------------------------+ - | sources | Optional | string | HEK,CCMC | | Specify the external data sources to use for the request | - | | | | | | If not provided, all sources will be queried | - | | | | | | Allowed values: HEK, CCMC, RHESSI. | - +-----------+----------+--------+----------------------+------------------------------------------------------------+ - | format | Optional | string | | tree | | Output shape. ``tree`` (default) returns the legacy | - | | | | | simpletree | | nested category/group structure described in | - | | | | | flat | | :ref:`helioviewer-event-format`. ``simpletree`` buckets | - | | | | | | the flat response into a one-level ``SOURCE>>Label`` map | - | | | | | | keyed by event type. ``flat`` returns the new v1 | - | | | | | | per-source response (one object per event with no | - | | | | | | category nesting). Allowed values: ``tree``, | - | | | | | | ``simpletree``, ``flat``. | - +-----------+----------+--------+----------------------+------------------------------------------------------------+ - -See :ref:`helioviewer-event-format` for the response format when ``format=tree`` -(the default). When ``format=flat`` is requested, the response is the raw v1 -events payload for each source, concatenated -- no nesting, no group keys. -When ``format=simpletree`` is requested, that flat payload is re-shaped into -a single-level map whose keys are ``SOURCE>>Label`` strings (one per known -event type for the requested sources) and whose values are arrays of the -matching events. Empty buckets are kept so the client can render the full -catalogue regardless of what's in the response. - -Event specific data conforms to the `HEK Event Specification `_ - -Example: Get HEK Events for 2023-03-30 (tree, default) - -.. code-block:: - :caption: Example Query (format=tree) - - https://api.helioviewer.org/v2/events/?startTime=2023-03-30T00:00:00Z&sources=HEK - -.. code-block:: - :caption: Example Response (format=tree) - - [ - { - "name": "Active Region", - "pin": "AR", - "groups": [ - { - "name": "NOAA SWPC Observer", - "contact": "http://www.swpc.noaa.gov/", - "url": "N/A", - "data": [ - { - "absnetcurrenthelicity": null, - "active": "true", - "area_atdiskcenter": 213057280, - "area_atdiskcenteruncert": null, - "area_raw": null, - "area_uncert": null, - "area_unit": "km2", - "ar_axislength": null, - "ar_compactnesscls": "", - "ar_lengthunit": "", - "ar_mcintoshcls": "HAX", - "ar_mtwilsoncls": "ALPHA", - "ar_neutrallength": null, - ... - }, - ... - ] - }, - ... - ] - }, - ... - ] - -Example: Same request but with the new flat shape - -.. code-block:: - :caption: Example Query (format=flat) - - https://api.helioviewer.org/v2/events/?startTime=2023-03-30T00:00:00Z&sources=HEK&format=flat - -.. code-block:: - :caption: Example Response (format=flat) - - [ - { - "absnetcurrenthelicity": null, - "active": "true", - "area_atdiskcenter": 213057280, - "area_atdiskcenteruncert": null, - "area_raw": null, - "area_uncert": null, - "area_unit": "km2", - "ar_axislength": null, - "ar_compactnesscls": "", - "ar_lengthunit": "", - "ar_mcintoshcls": "HAX", - "ar_mtwilsoncls": "ALPHA", - "ar_neutrallength": null, - "concept": "Active Region", - "frm_name": "NOAA SWPC Observer", - "frm_institute": "NOAA-SWPC", - "pin": "AR", - ... - }, - ... - ] - -Example: Same request bucketed into a SOURCE>>Label map - -.. code-block:: - :caption: Example Query (format=simpletree) - - https://api.helioviewer.org/v2/events/?startTime=2023-03-30T00:00:00Z&sources=HEK&format=simpletree - -.. code-block:: - :caption: Example Response (format=simpletree) - - { - "HEK>>Active Region": [ - { - "concept": "Active Region", - "frm_name": "NOAA SWPC Observer", - "path": "HEK>>Active Region>>NOAA SWPC Observer", - "pin": "AR", - ... - }, - ... - ], - "HEK>>CME": [], - "HEK>>Coronal Hole": [ - { - "concept": "Coronal Hole", - "frm_name": "SPoCA", - "path": "HEK>>Coronal Hole>>SPoCA", - ... - } - ], - "HEK>>Flare": [], - "HEK>>Sunspot": [], - ... - } - -Every key in the response object is a ``SOURCE>>Label`` string covering the -event-type catalogue for the requested sources. Empty buckets are kept so -the client can know the full catalogue regardless of what's in the response. \ No newline at end of file diff --git a/docs/src/source/api/api_groups/web_site.rst b/docs/src/source/api/api_groups/web_site.rst deleted file mode 100644 index 53987a947..000000000 --- a/docs/src/source/api/api_groups/web_site.rst +++ /dev/null @@ -1,4 +0,0 @@ -Web Site --------- - -.. include:: web_site/getNewsFeed.rst diff --git a/docs/src/source/api/api_groups/web_site/getNewsFeed.rst b/docs/src/source/api/api_groups/web_site/getNewsFeed.rst deleted file mode 100644 index 20abb5170..000000000 --- a/docs/src/source/api/api_groups/web_site/getNewsFeed.rst +++ /dev/null @@ -1,63 +0,0 @@ -getNewsFeed -^^^^^^^^^^^ -GET /v2/getNewsFeed/ - -Get the XML RSS feed of the official Helioviewer Project Blog. - -.. table:: Request Parameters: - - +-----------+----------+--------+---------+---------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+========+=========+===============================================================+ - | callback | Optional | string | | Wrap the response object in a function call of your choosing. | - +-----------+----------+--------+---------+---------------------------------------------------------------+ - -Example: string (RSS XML) -~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getNewsFeed/? - -.. code-block:: - :caption: Example Response: - - - - - - The Helioviewer Project Blog - - http://blog.helioviewer.org - Explore your heliosphere - Tue, 28 Jan 2014 15:16:51 +0000 - en - hourly - 1 - http://wordpress.org/?v=3.8.1 - - Follow the Helioviewer Project on Twitter - http://blog.helioviewer.org/2014/01/28/follow-the-helioviewer-project-on-twitter/ - http://blog.helioviewer.org/2014/01/28/follow-the-helioviewer-project-on-twitter/#comments - Tue, 28 Jan 2014 15:16:51 +0000 - - - - http://blog.helioviewer.org/?p=1265 - - The Helioviewer Project is now on Twitter, @Helioviewer.

-

twitter_hv

-

Please follow us on Twitter for the latest solar and heliospheric news and movies, as well as new Helioviewer Project features.

- ]]>
- http://blog.helioviewer.org/2014/01/28/follow-the-helioviewer-project-on-twitter/feed/ - 0 -
-
-
diff --git a/docs/src/source/api/api_groups/youtube.rst b/docs/src/source/api/api_groups/youtube.rst deleted file mode 100644 index 9f8d554bf..000000000 --- a/docs/src/source/api/api_groups/youtube.rst +++ /dev/null @@ -1,7 +0,0 @@ -YouTube -------- - -.. include:: youtube/checkYouTubeAuth.rst -.. include:: youtube/getYouTubeAuth.rst -.. include:: youtube/uploadMovieToYouTube.rst -.. include:: youtube/getUserVideos.rst diff --git a/docs/src/source/api/api_groups/youtube/checkYouTubeAuth.rst b/docs/src/source/api/api_groups/youtube/checkYouTubeAuth.rst deleted file mode 100644 index cfca9a520..000000000 --- a/docs/src/source/api/api_groups/youtube/checkYouTubeAuth.rst +++ /dev/null @@ -1,27 +0,0 @@ -checkYouTubeAuth -^^^^^^^^^^^^^^^^ -GET /v2/checkYouTubeAuth/ - -Check to see if Helioveiwer.org is authorized to interact with a user's YouTube -account via the current browser session. - -.. table:: Request Parameters: - - +-----------+----------+--------+---------------------------------------------------------------+-------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+========+===============================================================+=============+ - | callback | Optional | string | Wrap the response object in a function call of your choosing. | | - +-----------+----------+--------+---------------------------------------------------------------+-------------+ - -Example: string (Boolean) -~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/checkYouTubeAuth/? - -.. code-block:: - :caption: Example Response: - - false diff --git a/docs/src/source/api/api_groups/youtube/getUserVideos.rst b/docs/src/source/api/api_groups/youtube/getUserVideos.rst deleted file mode 100644 index ecf48b2a9..000000000 --- a/docs/src/source/api/api_groups/youtube/getUserVideos.rst +++ /dev/null @@ -1,60 +0,0 @@ -getUserVideos -^^^^^^^^^^^^^ -GET /v2/getUserVideos/ - -Get a listing (in descending time order) of the most recently user-generated -movies that have been publicly shared to YouTube. Result set is limited to the -value requested or default value of the `num` parameter (unless truncated when -the date value of the `since` parameter is reached). - -.. table:: Request Parameters: - - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +===========+==========+=========+=========+==============================================================================================================+ - | num | Optional | number | 10 | Number of shared user-generated movies to include in the response. Default is 10. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------------------+ - | since | Optional | string | | Optionally truncate result set if this date/time is reached. ISO 8601 combined UTC date and time UTC format. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------------------+ - | force | Optional | boolean | false | Optionally bypass cache to retrieve most up-to-date data. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------------------+ - | callback | Optional | string | | Wrap the response object in a function call of your choosing. | - +-----------+----------+---------+---------+--------------------------------------------------------------------------------------------------------------+ - -Example: string (JSON) -~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getUserVideos/?num=2 - -.. code-block:: - :caption: Example Response: - - [ - { - "id": "J5tX5", - "url": "http://www.youtube.com/watch?v=x2VYjI1Eo3M", - "thumbnails": { - "icon": "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-icon.png", - "small": "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-small.png", - "medium": "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-medium.png", - "large": "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-large.png", - "full": "http://api.helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-full.png" - }, - "published": "2014-02-27 14:56:00" - }, - { - "id": "L5tX5", - "url": "http://www.youtube.com/watch?v=h6Y6vhpKPRk", - "thumbnails": { - "icon": "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-icon.png", - "small": "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-small.png", - "medium": "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-medium.png", - "large": "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-large.png", - "full": "http://api.helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-full.png" - }, - "published": "2014-02-27 14:54:08" - } - ] diff --git a/docs/src/source/api/api_groups/youtube/getYouTubeAuth.rst b/docs/src/source/api/api_groups/youtube/getYouTubeAuth.rst deleted file mode 100644 index c9f206ea9..000000000 --- a/docs/src/source/api/api_groups/youtube/getYouTubeAuth.rst +++ /dev/null @@ -1,37 +0,0 @@ -getYouTubeAuth -^^^^^^^^^^^^^^ -GET /v2/getYouTubeAuth/ - -Request authorization from the user via a Google / YouTube authorization flow to -permit Helioviewer to upload videos on behalf of the user. - -.. table:: Request Parameters: - - +-------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +=============+==========+=========+========================================================================================================================================================================================================================+===============================================================================+ - | id | Required | string | VXvX5 | Unique movie identifier (provided by the response to a `queueMovie` request). | - +-------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | title | Required | string | AIA 4500 (2013-12-30 16:00:07 - 2014-01-27 15:00:07 UTC) | Movie title. | - +-------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | description | Required | string | This movie was produced by Helioviewer.org. See the original at http://helioviewer.org/?movieId=z6vX5 or download a high-quality version from http://api.helioviewer.org/v2/downloadMovie/?id=z6vX5&format=mp4&hq=true | Move description. | - +-------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | tags | Required | string | SDO,AIA,4500 | Movie keyword tags (comma separated). | - +-------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | share | Optional | boolean | true | Optionally share the movie with the Helioviewer community. | - +-------------+----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - -Example: string (HTTP Header redirect) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Redirect user to YouTube authorization page. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/getYouTubeAuth/?id=VXvX5&title=AIA%204500%20(2013-12-30%2016%3A00%3A07%20-%202014-01-27%2015%3A00%3A07%20UTC)&description=This%20movie%20was%20produced%20by%20Helioviewer.org.%20See%20the%20original%20at%20http%3A%2F%2Fhelioviewer.org%2F%3FmovieId%3Dz6vX5%20or%20download%20a%20high-quality%20version%20from%20http%3A%2F%2Fhelioviewer.org%2Fapi%2F%3Faction%3DdownloadMovie%26id%3Dz6vX5%26format%3Dmp4%26hq%3Dtrue&tags=SDO%2CAIA%2C4500&share=true - -.. code-block:: - :caption: Example Response: - - Location: https://www.google.com/accounts/AuthSubRequest?next=http%3A%2F%2Fhelioviewer.org%2Fapi%2Findex.php%3Faction%3DuploadMovieToYouTube%26id%3DVXvX5%26html%3Dtrue&scope=http://gdata.youtube.com&secure=&session=1 diff --git a/docs/src/source/api/api_groups/youtube/uploadMovieToYouTube.rst b/docs/src/source/api/api_groups/youtube/uploadMovieToYouTube.rst deleted file mode 100644 index d3a600f86..000000000 --- a/docs/src/source/api/api_groups/youtube/uploadMovieToYouTube.rst +++ /dev/null @@ -1,48 +0,0 @@ -uploadMovieToYouTube -^^^^^^^^^^^^^^^^^^^^ -GET /v2/uploadMovieToYouTube/ - -Share an existing user-generated movie to YouTube. - -.. table:: Request Parameters: - - +-------------+----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | Parameter | Required | Type | Example | Description | - +=============+==========+=========+=====================================================================================================================================================================================================================+===============================================================================+ - | id | Required | string | y9tX5 | Unique movie identifier (provided by the response to a `queueMovie` request). | - +-------------+----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | title | Optional | string | AIA 94 (2014-02-26 16:14:25 - 2014-02-27 15:37:49 UTC) | Movie title. | - +-------------+----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | description | Optional | string | This movie was produced by Helioviewer.org. See the original at http://helioviewer.org/?movieId=y9tX5 or download a high-quality version from http://api.helioviewer.org/downloadMovie/?id=y9tX5&format=mp4&hq=true | Move description. | - +-------------+----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | tags | Optional | string | SDO,AIA,94 | Movie keyword tags (comma separated). | - +-------------+----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | share | Optional | boolean | true | Optionally share the movie with the Helioviewer community. | - +-------------+----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - | html | Optional | boolean | false | Optionally output response as HTML instead of JSON. | - +-------------+----------+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ - -Example: YouTube Upload Status -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -JSON response to "uploadMovieToYouTube" API requests. - -.. code-block:: - :caption: Example Request: - - https://api.helioviewer.org/v2/uploadMovieToYouTube/?title=AIA+94+(2014-02-26+16%3A14%3A25+-+2014-02-27+15%3A37%3A49+UTC)&description=This+movie+was+produced+by+Helioviewer.org.+See+the+original+at+http%3A%2F%2Fhelioviewer.org%2F%3FmovieId%3Dy9tX5+or+download+a+high-quality+version+from+http%3A%2F%2Fhelioviewer.org%2Fapi%2F%3Faction%3DdownloadMovie%26id%3Dy9tX5%26format%3Dmp4%26hq%3Dtrue&tags=SDO%2CAIA%2C94&share=true&id=y9tX5 - -.. code-block:: - :caption: Example Response: - - { - "status": "upload in progress." - } - -.. table:: Response Description - - +-----------+----------+--------+-----------------------+ - | Parameter | Required | Type | Description | - +===========+==========+========+=======================+ - | status | Required | string | YouTube upload status | - +-----------+----------+--------+-----------------------+ diff --git a/docs/src/source/api/index.rst b/docs/src/source/api/index.rst index bc7a0c434..c852fc4e7 100644 --- a/docs/src/source/api/index.rst +++ b/docs/src/source/api/index.rst @@ -1,17 +1,14 @@ -API Groups -========== - -The API is organized into several groups related to performing specific tasks. -These are the available groups of APIs: - -.. toctree:: - :maxdepth: 10 - :caption: Contents: - - api_groups/jpeg2000 - api_groups/movies - api_groups/screenshots - api_groups/solar_features_and_events - api_groups/youtube - api_groups/official_clients - api_groups/web_site +API Reference +============= + +The Helioviewer API is organized into groups of related endpoints. The reference +below is generated from the OpenAPI specification and grouped by tag. + +For a complete list of all endoings, see :ref:`http-routingtable`. + +For an interactive "Try it out" experience, see the +`API Playground `_. + +.. openapi:: ../../openapi.yaml + :group: + :examples: diff --git a/docs/src/source/appendix/data_sources.rst b/docs/src/source/appendix/data_sources.rst index 0d2ed7ab9..ddd181902 100644 --- a/docs/src/source/appendix/data_sources.rst +++ b/docs/src/source/appendix/data_sources.rst @@ -20,4 +20,5 @@ parameter shown in the following tables. .. include:: data_sources/rhessi.rst .. include:: data_sources/goes.rst .. include:: data_sources/swfo.rst +.. include:: data_sources/punch.rst diff --git a/docs/src/source/appendix/data_sources/punch.rst b/docs/src/source/appendix/data_sources/punch.rst new file mode 100644 index 000000000..5bca4afee --- /dev/null +++ b/docs/src/source/appendix/data_sources/punch.rst @@ -0,0 +1,12 @@ +PUNCH +----- + +.. table:: PUNCH Data Sources + + +-----------+------------------------------+ + | Source ID | Description | + +===========+==============================+ + | 131 | WFI+NFI Total Brightness | + +-----------+------------------------------+ + | 134 | WFI+NFI Polarized Brightness | + +-----------+------------------------------+ diff --git a/docs/src/source/conf.py b/docs/src/source/conf.py index 2cf58c2c0..20629fdc1 100644 --- a/docs/src/source/conf.py +++ b/docs/src/source/conf.py @@ -18,7 +18,7 @@ # -- Project information ----------------------------------------------------- project = 'Helioviewer API V2' -copyright = '2022, The Helioviewer Project' +copyright = '2026, The Helioviewer Project' author = 'The Helioviewer Project' @@ -28,9 +28,28 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'sphinx_rtd_theme' + 'sphinx_rtd_theme', + 'sphinx_rtd_dark_mode', + 'sphinxcontrib.openapi', ] +# sphinxcontrib-openapi's :examples: flag renders both response examples and +# auto-generated request examples in raw HTTP wire format (e.g. +# `GET /foo HTTP/1.1\nHost: example.com`). We want the response examples but +# write request examples by hand in each operation's description, so suppress +# the auto-generated request example. +import sphinxcontrib.openapi.openapi30 as _openapi30 +_orig_example = _openapi30._example + +def _example_responses_only(media_type_objects, method=None, endpoint=None, + status=None, nb_indent=0): + if method is not None: + return iter(()) + return _orig_example(media_type_objects, method=method, endpoint=endpoint, + status=status, nb_indent=nb_indent) + +_openapi30._example = _example_responses_only + # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -50,6 +69,11 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -# html_static_path = ['appendix/images'] -pygments_style = 'solarized-dark' +html_static_path = ['_static'] +html_style = 'css/custom.css' +html_js_files = ['js/new-tab-links.js'] + +# Default unlabeled code blocks to plain text so URLs aren't auto-detected as +# Python and styled accordingly. +highlight_language = 'text' diff --git a/docs/src/source/index.rst b/docs/src/source/index.rst index 24edb35ca..2b9253e21 100644 --- a/docs/src/source/index.rst +++ b/docs/src/source/index.rst @@ -20,9 +20,4 @@ about the available datasources and working with coordinates. api/index.rst appendix.rst -.. Indices and tables -.. ================== -.. * :ref:`genindex` -.. * :ref:`modindex` -.. * :ref:`search`