API Documentation

The Helioviewer Project maintains a set of Public APIs with the goal of improving access to solar and heliospheric datasets to scientists, educators, developers, and the general public. Read below for descriptions of each API endpoint and examples of usage.

Browse APIs by category using the menu above, or consult the Appendix for more about the available datasources and working with coordinates.

For easy access to API responses within your code, check out the open-source libraries available at Unirest.io. Libraries are provided for integration with Python, PHP, Java, Ruby, Objective-C, Node.js, .NET, and Windows 8 code bases.

Unirest.io API Libraries ➚

JPEG2000

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.

getJP2Image

GET /api/v1/getJP2Image/

Download a JP2 image for the specified datasource that is the closest match in time to the `date` requested.

Either `sourceId` must be specified, or the combination of `observatory`, `instrument`, `detector`, and `measurement`.

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 Optional number 14 Unique image datasource identifier.
observatory Optional string SDO Observatory name.
instrument Optional string AIA Instrument name.
detector Optional string AIA Detector name.
measurement Optional string 335 Measurement name.
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 (A):

binary (JPEG2000 image data)

By default, JPEG2000 binary image data is returned. This assumes that the `jpip` parameter is omitted or set to `false`.

Example Request:
http://www.helioviewer.org/api/v1/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14

Example (B):

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.

Example Request:
http://www.helioviewer.org/api/v1/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14&jpip=true
Example Response:
jpip://helioviewer.org:8090/AIA/2014/01/02/335/2014_01_02__00_00_02_62__SDO_AIA_AIA_335.jp2

Example (C):

JP2 Image (JSON)

If request parameters `jpip` and `json` are both set to `true`, the reponse is a JSON object.

Example Request:
http://www.helioviewer.org/api/v1/getJP2Image/?date=2014-01-01T23:59:59Z&sourceId=14&jpip=true&json=true
Example Response:
{
    "uri": "jpip://helioviewer.org:8090/AIA/2014/01/02/335/2014_01_02__00_00_02_62__SDO_AIA_AIA_335.jp2"
}
Parameter Required Type Description
uri Required string JPIP protocol link to JP2 image.

getJP2Header

GET /api/v1/getJP2Header/

Get the XML header embedded in a JPEG2000 image. Includes the FITS header as well as a section of Helioviewer-specific metadata.

Request Parameters:
Parameter Required Type Example Description
id Required number 7654321 Unique JP2 image identifier.
callback Optional string Wrap the response object in a function call of your choosing.

Example (A):

string (XML)
Example Request:
http://www.helioviewer.org/api/v1/getJP2Header/?id=7654321
Example Response:
<?xml version="1.0" encoding="utf-8"?>
<meta>
    <fits>
        <SIMPLE>1</SIMPLE>
        <BITPIX>16</BITPIX>
        <NAXIS>2</NAXIS>
        <NAXIS1>4096</NAXIS1>
        <NAXIS2>4096</NAXIS2>
        <EXTEND>1</EXTEND>
        <DATE_OBS>2011-05-25T09:07:00.34</DATE_OBS>
        <ORIGIN>SDO</ORIGIN>
        <DATE>2011-05-25T09:15:44</DATE>
        <TELESCOP>SDO</TELESCOP>
        <INSTRUME>AIA_3</INSTRUME>
        <DATE-OBS>2011-05-25T09:07:00.34</DATE-OBS>
        <T_OBS>2011-05-25T09:07:01.34Z</T_OBS>
        <TOBSSTEP>1.0000000</TOBSSTEP>
        <TOBSEPOC>1977.01.01_00:00:00_TAI</TOBSEPOC>
        <CAMERA>3</CAMERA>
        <IMG_TYPE>LIGHT</IMG_TYPE>
        <EXPTIME>2.0002010</EXPTIME>
        <EXPSDEV>0.00012300000</EXPSDEV>
        <INT_TIME>2.2734380</INT_TIME>
        <WAVELNTH>171</WAVELNTH>
        <WAVEUNIT>angstrom</WAVEUNIT>
        <WAVE_STR>171_THIN</WAVE_STR>
        <FSN>26454194</FSN>
        <FID>0</FID>
        <LVL_NUM>1.5000000</LVL_NUM>
        <QUALLEV0>0</QUALLEV0>
        <QUALITY>1073741824</QUALITY>
        <TOTVALS>16777216</TOTVALS>
        <DATAVALS>16777216</DATAVALS>
        <MISSVALS>0</MISSVALS>
        <PERCENTD>100.000</PERCENTD>
        <DATAMIN>0</DATAMIN>
        <DATAMAX>5041</DATAMAX>
        <DATAMEDN>143</DATAMEDN>
        <DATAMEAN>197.450</DATAMEAN>
        <DATARMS>240.880</DATARMS>
        <DATASKEW>3.37000</DATASKEW>
        <DATAKURT>-18.5000</DATAKURT>
        <OSCNMEAN>nan</OSCNMEAN>
        <OSCNRMS>nan</OSCNRMS>
        <FLAT_REC>aia.flatfield[:#30]</FLAT_REC>
        <CTYPE1>HPLN-TAN</CTYPE1>
        <CUNIT1>arcsec</CUNIT1>
        <CRVAL1>0.0000000</CRVAL1>
        <CDELT1>0.60000000</CDELT1>
        <CRPIX1>2048.5000</CRPIX1>
        <CTYPE2>HPLT-TAN</CTYPE2>
        <CUNIT2>arcsec</CUNIT2>
        <CRVAL2>0.0000000</CRVAL2>
        <CDELT2>0.60000000</CDELT2>
        <CRPIX2>2048.5000</CRPIX2>
        <CROTA2>0.0000000</CROTA2>
        <R_SUN>1581.4006</R_SUN>
        <MPO_REC>sdo.master_pointing[:#158]</MPO_REC>
        <INST_ROT>0.10248800</INST_ROT>
        <IMSCL_MP>0.59907600</IMSCL_MP>
        <X0_MP>2049.9199</X0_MP>
        <Y0_MP>2048.8101</Y0_MP>
        <RSUN_LF>nan</RSUN_LF>
        <X0_LF>nan</X0_LF>
        <Y0_LF>nan</Y0_LF>
        <ASD_REC>sdo.lev0_asd_0004[:#10393635]</ASD_REC>
        <SAT_Y0>-4.9394650</SAT_Y0>
        <SAT_Z0>8.3641070</SAT_Z0>
        <SAT_ROT>2.6000000e-05</SAT_ROT>
        <ACS_MODE>SCIENCE</ACS_MODE>
        <ACS_ECLP>NO</ACS_ECLP>
        <ACS_SUNP>YES</ACS_SUNP>
        <ACS_SAFE>NO</ACS_SAFE>
        <ACS_CGT>GT3</ACS_CGT>
        <ORB_REC>sdo.fds_orbit_vectors[2011.05.25_09:07:00_UTC]</ORB_REC>
        <DSUN_REF>1.4959787e+11</DSUN_REF>
        <DSUN_OBS>1.5153469e+11</DSUN_OBS>
        <RSUN_REF>6.9600000e+08</RSUN_REF>
        <RSUN_OBS>947.37917</RSUN_OBS>
        <GCIEC_X>nan</GCIEC_X>
        <GCIEC_Y>nan</GCIEC_Y>
        <GCIEC_Z>nan</GCIEC_Z>
        <HCIEC_X>nan</HCIEC_X>
        <HCIEC_Y>nan</HCIEC_Y>
        <HCIEC_Z>nan</HCIEC_Z>
        <OBS_VR>-1256.5236</OBS_VR>
        <OBS_VW>31812.788</OBS_VW>
        <OBS_VN>3667.9192</OBS_VN>
        <CRLN_OBS>151.31955</CRLN_OBS>
        <CRLT_OBS>-1.4993120</CRLT_OBS>
        <CAR_ROT>2110</CAR_ROT>
        <ROI_NWIN>-2147483648</ROI_NWIN>
        <ROI_SUM>-2147483648</ROI_SUM>
        <ROI_NAX1>-2147483648</ROI_NAX1>
        <ROI_NAY1>-2147483648</ROI_NAY1>
        <ROI_LLX1>-2147483648</ROI_LLX1>
        <ROI_LLY1>-2147483648</ROI_LLY1>
        <ROI_NAX2>-2147483648</ROI_NAX2>
        <ROI_NAY2>-2147483648</ROI_NAY2>
        <ROI_LLX2>-2147483648</ROI_LLX2>
        <ROI_LLY2>-2147483648</ROI_LLY2>
        <ISPSNAME>aia.lev0_isp_0011</ISPSNAME>
        <ISPPKTIM>2011-05-25T09:06:57.50Z</ISPPKTIM>
        <ISPPKTVN>001.197</ISPPKTVN>
        <AIVNMST>453</AIVNMST>
        <AIMGOTS>1685005655</AIMGOTS>
        <ASQHDR>2.1739378e+09</ASQHDR>
        <ASQTNUM>2</ASQTNUM>
        <ASQFSN>26454194</ASQFSN>
        <AIAHFSN>26454186</AIAHFSN>
        <AECDELAY>1535</AECDELAY>
        <AIAECTI>0</AIAECTI>
        <AIASEN>0</AIASEN>
        <AIFDBID>241</AIFDBID>
        <AIMGOTSS>5382</AIMGOTSS>
        <AIFCPS>10</AIFCPS>
        <AIFTSWTH>0</AIFTSWTH>
        <AIFRMLID>3025</AIFRMLID>
        <AIFTSID>40961</AIFTSID>
        <AIHISMXB>7</AIHISMXB>
        <AIHIS192>8386460</AIHIS192>
        <AIHIS348>8388608</AIHIS348>
        <AIHIS604>8388608</AIHIS604>
        <AIHIS860>8388608</AIHIS860>
        <AIFWEN>204</AIFWEN>
        <AIMGSHCE>2000</AIMGSHCE>
        <AECTYPE>2</AECTYPE>
        <AECMODE>ON</AECMODE>
        <AISTATE>CLOSED</AISTATE>
        <AIAECENF>1</AIAECENF>
        <AIFILTYP>0</AIFILTYP>
        <AIMSHOBC>54.787998</AIMSHOBC>
        <AIMSHOBE>68.779999</AIMSHOBE>
        <AIMSHOTC>40.528000</AIMSHOTC>
        <AIMSHOTE>25.516001</AIMSHOTE>
        <AIMSHCBC>2054.9199</AIMSHCBC>
        <AIMSHCBE>2068.8201</AIMSHCBE>
        <AIMSHCTC>2040.8040</AIMSHCTC>
        <AIMSHCTE>2025.8719</AIMSHCTE>
        <AICFGDL1>0</AICFGDL1>
        <AICFGDL2>137</AICFGDL2>
        <AICFGDL3>201</AICFGDL3>
        <AICFGDL4>236</AICFGDL4>
        <AIFOENFL>1</AIFOENFL>
        <AIMGFSN>5</AIMGFSN>
        <AIMGTYP>0</AIMGTYP>
        <AIAWVLEN>7</AIAWVLEN>
        <AIAGP1>0</AIAGP1>
        <AIAGP2>0</AIAGP2>
        <AIAGP3>0</AIAGP3>
        <AIAGP4>0</AIAGP4>
        <AIAGP5>0</AIAGP5>
        <AIAGP6>0</AIAGP6>
        <AIAGP7>0</AIAGP7>
        <AIAGP8>393</AIAGP8>
        <AIAGP9>457</AIAGP9>
        <AIAGP10>748</AIAGP10>
        <AGT1SVY>3</AGT1SVY>
        <AGT1SVZ>-7</AGT1SVZ>
        <AGT2SVY>2</AGT2SVY>
        <AGT2SVZ>-3</AGT2SVZ>
        <AGT3SVY>0</AGT3SVY>
        <AGT3SVZ>0</AGT3SVZ>
        <AGT4SVY>-2</AGT4SVY>
        <AGT4SVZ>2</AGT4SVZ>
        <AIMGSHEN>13</AIMGSHEN>
        <RECNUM>20306521</RECNUM>
        <BLANK>-32768</BLANK>
        <CHECKSUM>CAWfE5VZCAVdC3VZ</CHECKSUM>
        <DATASUM>368618671</DATASUM>
        <XCEN>0.00000</XCEN>
        <YCEN>0.00000</YCEN>
        <history>FITSHEAD2STRUCT run at: Wed May 25 02:27:23 2011
</history>
        <comment>FITS (Flexible Image Transport System) format is defined in 'Astronomy
and Astrophysics', volume 376, page 359; bibcode: 2001A&amp;A...376..359H
FITSHEAD2STRUCT
</comment>
    </fits>
    <helioviewer>
        <HV_ROTATION>0.00000</HV_ROTATION>
        <HV_JP2GEN_VERSION>0.8</HV_JP2GEN_VERSION>
        <HV_JP2GEN_BRANCH_REVISION>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</HV_JP2GEN_BRANCH_REVISION>
        <HV_HVS_DETAILS_FILENAME>hvs_version5.pro</HV_HVS_DETAILS_FILENAME>
        <HV_HVS_DETAILS_FILENAME_VERSION>5.0</HV_HVS_DETAILS_FILENAME_VERSION>
        <HV_COMMENT>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://launchpad.net/helioviewer.</HV_COMMENT>
        <HV_SUPPORTED>TRUE</HV_SUPPORTED>
    </helioviewer>
</meta>

getJPX

GET /api/v1/getJPX/

Generate and (optionally) download a custom JPX movie of the specified datasource.

Either `sourceId` must be specified, or the combination of `observatory`, `instrument`, `detector`, and `measurement`.

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 Optional number 14 Unique image datasource identifier. Can be specified in lieu of the `observatory`, `instrument`, `detector`, and `measurement` parameters.
observatory Optional string SDO Observatory name.
instrument Optional string AIA Instrument name.
detector Optional string AIA Detector name.
measurement Optional string 335 Measurement name.
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 (A):

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`.

Example Request:
http://www.helioviewer.org/api/v1/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14

Example (B):

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.

Example Request:
http://www.helioviewer.org/api/v1/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&jpip=true
Example Response:
jpip://helioviewer.org:8090/movies/SDO_AIA_AIA_335_F2014-01-01T00.00.00Z_T2014-01-01T00.45.00Z.jpx

Example (C):

JPIP JPX Movie (JSON)

If request parameters `jpip` and `verbose` are both set to `true`, the reponse 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.

Example Request:
http://www.helioviewer.org/api/v1/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&jpip=true&verbose=true
Example Response:
{
    "message": null,
    "uri": "jpip://helioviewer.org:8090/movies/SDO_AIA_AIA_335_F2014-01-01T00.00.00Z_T2014-01-01T00.45.00Z.jpx",
    "frames": [
        1388534414,
        1388534450,
        1388534486,
        [...],
        1388537006,
        1388537042,
        1388537078
    ]
}
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 (D):

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.

Example Request:
http://www.helioviewer.org/api/v1/getJPX/?startTime=2014-01-01T00:00:00Z&endTime=2014-01-01T00:45:00Z&sourceId=14&verbose=true
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://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
    ]
}
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.

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.

queueMovie

GET /api/v1/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`) and to download your movie (via `downloadMovie`).

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.
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`, `flv`). 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.

Example (A):

Queued Movie (JSON)

JSON response to "queueMovie" and "reQueueMovie" API requests.

Example Request:
http://www.helioviewer.org/api/v1/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
Example Response:
{
  "id": "z6vX5",
  "eta": 376,
  "queue": 0,
  "token": "50e0d98f645b42d159ec1c8a1e15de3e"
}
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

reQueueMovie

GET /api/v1/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`) and to download the movie (via `downloadMovie`).

Request Parameters:
Parameter Required Type Example Description
id Required string VXvX5 Unique movie identifier (provided by the response to a `queueMovie` request).

Example (A):

Queued Movie (JSON)

JSON response to "queueMovie" and "reQueueMovie" API requests.

Example Request:
http://www.helioviewer.org/api/v1/reQueueMovie/?id=VXvX5
Example Response:
{
    "id": "VXvX5",
    "eta": 285,
    "queue": 0,
    "token": "4673d6db4e2a3365ab361267f2a9a112"
}
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

getMovieStatus

GET /api/v1/getMovieStatus/

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`, or `flv`).
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

Example (A):

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).

Example Request:
http://www.helioviewer.org/api/v1/getMovieStatus/?id=VXvX5&format=mp4
Example Response:
{
  "status": 0
}
Parameter Required Type Description
status Required number Movie generation status (0=queued, 1=processing, 2=finished, 3=invalid)

Example (B):

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.

Example Request:
http://www.helioviewer.org/api/v1/getMovieStatus/?id=VXvX5&format=mp4&verbose=true
Example Response:
{
    "frameRate": 15,
    "numFrames": 300,
    "startDate": "2014-02-03 20:26:16",
    "status": 2,
    "endDate": "2014-02-05 19:40:16",
    "width": 846,
    "height": 820,
    "title": "SDO AIA 1600 (2014-02-03 20:26:16 - 19:40:16 UTC)",
    "thumbnails": {
        "icon": "http://helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-icon.png",
        "small": "http://helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-small.png",
        "medium": "http://helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-medium.png",
        "large": "http://helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-large.png",
        "full": "http://helioviewer.org/cache/movies/2014/02/05/VXvX5/preview-full.png"
    },
    "url": "http://helioviewer.org/cache/movies/2014/02/05/VXvX5/2014_02_03_20_26_16_2014_02_05_19_40_16_AIA_1600.mp4",
    "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
}
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)

downloadMovie

GET /api/v1/downloadMovie/

Download a custom movie in one of three file formats.

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`, or `flv`).
hq Optional boolean true Optionally download a higher-quality movie file (valid for .mp4 movies only, ignored otherwise).

Example (A):

binary (movie data)
Example Request:
http://www.helioviewer.org/api/v1/downloadMovie/?id=VXvX5&format=mp4

playMovie

GET /api/v1/playMovie/

Output an HTML web page with the requested movie embedded within.

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, or flv).
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 (A):

string (HTML)
Example Request:
http://www.helioviewer.org/api/v1/playMovie/?id=VXvX5&format=mp4&hq=true
Example Response:
<!DOCTYPE html>
<html>
<head>
    <title>Helioviewer.org - 2014_02_03_20_26_16_2014_02_05_20_16_40_AIA_1600-hq.mp4</title>
    <script src="http://helioviewer.org/lib/flowplayer/flowplayer-3.2.8.min.js"></script>
</head>
<body>
    <!-- Movie player -->
    <div href="http://helioviewer.org/cache/movies/2014/02/05/VXvX5/2014_02_03_20_26_16_2014_02_05_20_16_40_AIA_1600-hq.mp4"
       style="display:block; width: 846px; height: 820px;"
       id="movie-player">
    </div>
    <br>
    <script language="javascript">
        flowplayer("movie-player", "http://helioviewer.org/lib/flowplayer/flowplayer-3.2.8.swf", {
            clip: {
                autoBuffering: true,
                scaling: "fit"
            }
        });
    </script>
</body>
</html>

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.

takeScreenshot

GET /api/v1/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.

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 [SDO,AIA,AIA,335,1,100] 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 Required 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 (A):

Take Screenshot (JSON)

JSON response to "takeScreenshot" API requests. Assumes that the `display` parameter was omitted or set to `false`.

Example Request:
http://www.helioviewer.org/api/v1/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 Response:
{
    "id": 3285980
}
Parameter Required Type Description
id Required string Unique screenshot identifier (e.g. "3285980")

Example (B):

binary (PNG image data)

Set the `display` parameter to `true` to directly return binary PNG image data in the response.

Example Request:
http://www.helioviewer.org/api/v1/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]

downloadScreenshot

GET /api/v1/downloadScreenshot/

Download a custom screenshot (that was generated using the `takeScreenshot` API endpoint).

Request Parameters:
Parameter Required Type Example Description
id Required number 3240748 Unique screenshot identifier (provided by the response to a `takeScreenshot` request).

Example (A):

binary (PNG image data)
Example Request:
http://www.helioviewer.org/api/v1/downloadScreenshot/?id=3240748

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.

YouTube

checkYouTubeAuth

GET /api/v1/checkYouTubeAuth/

Check to see if Helioveiwer.org is authorized to interact with a user's YouTube account via the current browser session.

Request Parameters:
Parameter Required Type Example Description
callback Optional string Wrap the response object in a function call of your choosing.

Example (A):

string (Boolean)
Example Request:
http://www.helioviewer.org/api/v1/checkYouTubeAuth/?
Example Response:
false

getYouTubeAuth

GET /api/v1/getYouTubeAuth/

Request authorization from the user via a Google / YouTube authorization flow to permit Helioviewer to upload videos on behalf of the user.

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://helioviewer.org/api/?action=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 (A):

string (HTTP Header redirect)

Redirect user to YouTube authorization page.

Example Request:
http://www.helioviewer.org/api/v1/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
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

uploadMovieToYouTube

GET /api/v1/uploadMovieToYouTube/

Share an existing user-generated movie to YouTube.

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://helioviewer.org/api/?action=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 (A):

YouTube Upload Status

JSON response to "uploadMovieToYouTube" API requests.

Example Request:
http://www.helioviewer.org/api/v1/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
Example Response:
{
  "status": "upload in progress."
}
Parameter Required Type Description
status Required string YouTube upload status

getUserVideos

GET /api/v1/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).

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 (A):

string (JSON)
Example Request:
http://www.helioviewer.org/api/v1/getUserVideos/?num=2
Example Response:
[
    {
        "id": "J5tX5",
        "url": "http://www.youtube.com/watch?v=x2VYjI1Eo3M",
        "thumbnails": {
            "icon": "http://helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-icon.png",
            "small": "http://helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-small.png",
            "medium": "http://helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-medium.png",
            "large": "http://helioviewer.org/cache/movies/2014/02/27/J5tX5/preview-large.png",
            "full": "http://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://helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-icon.png",
            "small": "http://helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-small.png",
            "medium": "http://helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-medium.png",
            "large": "http://helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-large.png",
            "full": "http://helioviewer.org/cache/movies/2014/02/27/L5tX5/preview-full.png"
        },
        "published": "2014-02-27 14:54:08"
    }
]

Official Clients

getClosestImage

GET /api/v1/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.

Either `sourceId` must be specified, or the combination of `observatory`, `instrument`, `detector`, and `measurement`.

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 Optional number 14 Unique image datasource identifier. Can be specified in lieu of the `observatory`, `instrument`, `detector`, and `measurement` parameters.
observatory Optional string SDO Observatory name.
instrument Optional string AIA Instrument name.
detector Optional string AIA Detector name.
measurement Optional string 335 Measurement name.

Example (A):

Get Closest Image (JSON)

A JSON object containing metadata related to the JPEG2000 image representing the closest temporal match for the specified datasource.

Example Request:
http://www.helioviewer.org/api/v1/getClosestImage/?date=2014-01-01T23:59:59Z&sourceId=14
Example Response:
{
    "id": 34205701,
    "date": "2014-01-02 00:00:02",
    "scale": 0.58996068317702,
    "width": 4096,
    "height": 4096,
    "refPixelX": 2048.5,
    "refPixelY": 2048.5,
    "sunCenterOffsetParams": [],
    "layeringOrder": 1
}
Parameter Required Type Description
id Required number Unique image identifier (e.g. 34205701)
date Required string Date/time of selected image.
scale Required number Image scale in arc-seconds per pixel.
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.
sunCenterOffsetParams Required string FITS header positioning metadata.
layeringOrder Required number Relative order for image layer compositing.

getDataSources

GET /api/v1/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.

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 (A):

Get Data Sources (JSON)
Example Request:
http://www.helioviewer.org/api/v1/getDataSources/?
Example Response:
{
    "SOHO": {
        "EIT": {
            "EIT": {
                "171": {
                    "sourceId": 0,
                    "nickname": "EIT 171",
                    "layeringOrder": 1,
                    "start": "1996-01-15 21:39:21",
                    "end": "2013-08-07 13:00:13"
                },
                "195": {
                    "sourceId": 1,
                    "nickname": "EIT 195",
                    "layeringOrder": 1,
                    "start": "1996-01-15 20:51:47",
                    "end": "2013-08-07 01:13:50"
                },
                "284": {
                    "sourceId": 2,
                    "nickname": "EIT 284",
                    "layeringOrder": 1,
                    "start": "1996-01-15 21:04:17",
                    "end": "2013-08-07 13:06:09"
                },
                "304": {
                    "sourceId": 3,
                    "nickname": "EIT 304",
                    "layeringOrder": 1,
                    "start": "1996-01-15 22:00:17",
                    "end": "2013-08-07 01:19:42"
                }
            }
        },
        "LASCO": {
            "C2": {
                "white-light": {
                    "sourceId": 4,
                    "nickname": "LASCO C2",
                    "layeringOrder": 2,
                    "start": "1996-04-01 01:12:15",
                    "end": "2014-02-26 14:48:05"
                }
            },
            "C3": {
                "white-light": {
                    "sourceId": 5,
                    "nickname": "LASCO C3",
                    "layeringOrder": 3,
                    "start": "1996-04-14 09:48:18",
                    "end": "2014-02-26 15:06:06"
                }
            }
        },
        "MDI": {
            "MDI": {
                "magnetogram": {
                    "sourceId": 6,
                    "nickname": "MDI Mag",
                    "layeringOrder": 1,
                    "start": "1996-04-21 00:30:04",
                    "end": "2011-01-11 22:39:00"
                },
                "continuum": {
                    "sourceId": 7,
                    "nickname": "MDI Int",
                    "layeringOrder": 1,
                    "start": "1996-05-19 19:08:35",
                    "end": "2011-01-11 22:39:00"
                }
            }
        }
    },
    "SDO": {
        "AIA": {
            "AIA": {
                "94": {
                    "sourceId": 8,
                    "nickname": "AIA 94",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:33",
                    "end": "2014-02-26 19:30:25"
                },
                "131": {
                    "sourceId": 9,
                    "nickname": "AIA 131",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:34",
                    "end": "2014-02-26 19:31:32"
                },
                "171": {
                    "sourceId": 10,
                    "nickname": "AIA 171",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:36",
                    "end": "2014-02-26 19:31:59"
                },
                "193": {
                    "sourceId": 11,
                    "nickname": "AIA 193",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:31",
                    "end": "2014-02-26 19:34:42"
                },
                "211": {
                    "sourceId": 12,
                    "nickname": "AIA 211",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:37",
                    "end": "2014-02-26 19:28:23"
                },
                "304": {
                    "sourceId": 13,
                    "nickname": "AIA 304",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:39",
                    "end": "2014-02-26 19:18:19"
                },
                "335": {
                    "sourceId": 14,
                    "nickname": "AIA 335",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:28",
                    "end": "2014-02-26 19:18:50"
                },
                "1600": {
                    "sourceId": 15,
                    "nickname": "AIA 1600",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:30",
                    "end": "2014-02-26 19:19:52"
                },
                "1700": {
                    "sourceId": 16,
                    "nickname": "AIA 1700",
                    "layeringOrder": 1,
                    "start": "2010-06-23 00:00:31",
                    "end": "2014-02-26 19:20:30"
                },
                "4500": {
                    "sourceId": 17,
                    "nickname": "AIA 4500",
                    "layeringOrder": 1,
                    "start": "2010-06-02 00:05:44",
                    "end": "2014-02-26 19:00:07"
                }
            }
        },
        "HMI": {
            "HMI": {
                "continuum": {
                    "sourceId": 18,
                    "nickname": "HMI Int",
                    "layeringOrder": 1,
                    "start": "2010-12-06 06:53:41",
                    "end": "2014-02-26 17:41:42"
                },
                "magnetogram": {
                    "sourceId": 19,
                    "nickname": "HMI Mag",
                    "layeringOrder": 1,
                    "start": "2010-12-06 06:53:41",
                    "end": "2014-02-26 17:27:27"
                }
            }
        }
    },
    "STEREO_A": {
        "SECCHI": {
            "EUVI": {
                "171": {
                    "sourceId": 20,
                    "nickname": "EUVI-A 171",
                    "layeringOrder": 1,
                    "start": "2010-01-01 00:14:00",
                    "end": "2014-02-23 22:14:00"
                },
                "195": {
                    "sourceId": 21,
                    "nickname": "EUVI-A 195",
                    "layeringOrder": 1,
                    "start": "2010-01-01 00:05:30",
                    "end": "2014-02-23 23:55:30"
                },
                "284": {
                    "sourceId": 22,
                    "nickname": "EUVI-A 284",
                    "layeringOrder": 1,
                    "start": "2010-01-01 00:16:30",
                    "end": "2014-02-23 22:16:30"
                },
                "304": {
                    "sourceId": 23,
                    "nickname": "EUVI-A 304",
                    "layeringOrder": 1,
                    "start": "2010-01-01 00:06:15",
                    "end": "2014-02-23 23:56:15"
                }
            },
            "COR1": {
                "white-light": {
                    "sourceId": 28,
                    "nickname": "COR1-A",
                    "layeringOrder": 2,
                    "start": "2006-12-04 17:35:55",
                    "end": "2014-02-23 23:55:00"
                }
            },
            "COR2": {
                "white-light": {
                    "sourceId": 29,
                    "nickname": "COR2-A",
                    "layeringOrder": 3,
                    "start": "2006-12-29 02:10:00",
                    "end": "2014-02-23 23:54:00"
                }
            }
        }
    },
    "STEREO_B": {
        "SECCHI": {
            "EUVI": {
                "171": {
                    "sourceId": 24,
                    "nickname": "EUVI-B 171",
                    "layeringOrder": 1,
                    "start": "2010-01-01 00:07:52",
                    "end": "2014-02-24 04:14:56"
                },
                "195": {
                    "sourceId": 25,
                    "nickname": "EUVI-B 195",
                    "layeringOrder": 1,
                    "start": "2010-01-01 00:06:07",
                    "end": "2014-02-24 04:31:27"
                },
                "284": {
                    "sourceId": 26,
                    "nickname": "EUVI-B 284",
                    "layeringOrder": 1,
                    "start": "2010-01-01 00:07:07",
                    "end": "2014-02-24 04:17:26"
                },
                "304": {
                    "sourceId": 27,
                    "nickname": "EUVI-B 304",
                    "layeringOrder": 1,
                    "start": "2010-01-01 00:06:52",
                    "end": "2014-02-24 04:27:11"
                }
            },
            "COR1": {
                "white-light": {
                    "sourceId": 30,
                    "nickname": "COR1-B",
                    "layeringOrder": 2,
                    "start": "2006-12-13 14:23:50",
                    "end": "2014-02-24 07:45:55"
                }
            },
            "COR2": {
                "white-light": {
                    "sourceId": 31,
                    "nickname": "COR2-B",
                    "layeringOrder": 3,
                    "start": "2006-12-29 02:10:00",
                    "end": "2014-02-24 19:39:55"
                }
            }
        }
    },
    "PROBA2": {
        "SWAP": {
            "SWAP": {
                "174": {
                    "sourceId": 32,
                    "nickname": "SWAP 174",
                    "layeringOrder": 1,
                    "start": "2010-01-04 17:00:50",
                    "end": "2014-02-26 18:08:02"
                }
            }
        }
    },
    "Yohkoh": {
        "SXT": {
            "SXT": {
                "AlMgMn": {
                    "sourceId": 33,
                    "nickname": "SXT AlMgMn",
                    "layeringOrder": 1,
                    "start": "1991-09-13 21:53:40",
                    "end": "2001-12-14 20:58:33"
                },
                "thin-Al": {
                    "sourceId": 34,
                    "nickname": "SXT thin-Al",
                    "layeringOrder": 1,
                    "start": "1991-09-13 21:49:24",
                    "end": "2001-12-14 08:20:43"
                },
                "white-light": {
                    "sourceId": 35,
                    "nickname": "SXT white-light",
                    "layeringOrder": 1,
                    "start": "1991-09-11 23:02:54",
                    "end": "1992-11-13 17:05:32"
                }
            }
        }
    }
}

Example (B):

Get Data Sources Verbose (JSON)

Output the hierarchical list of available datasources in a format that is compatible with the JHelioviewer desktop client.

Example Request:
http://www.helioviewer.org/api/v1/getDataSources/?verbose=true&enable=[Yohkoh,STEREO_A,STEREO_B]
Example Response:
{
    "SOHO": {
        "name": "SOHO",
        "description": "Solar and Heliospheric Observatory",
        "children": {
            "EIT": {
                "name": "EIT",
                "description": "Extreme ultraviolet Imaging Telescope",
                "children": {
                    "EIT": {
                        "name": "EIT",
                        "description": "EIT",
                        "children": {
                            "171": {
                                "name": "171 Å",
                                "description": "171 Ångström extreme ultraviolet",
                                "nickname": "EIT 171",
                                "sourceId": 0,
                                "layeringOrder": 1,
                                "start": "1996-01-15 21:39:21",
                                "end": "2013-08-07 13:00:13"
                            },
                            "195": {
                                "name": "195 Å",
                                "description": "195 Ångström extreme ultraviolet",
                                "nickname": "EIT 195",
                                "sourceId": 1,
                                "layeringOrder": 1,
                                "start": "1996-01-15 20:51:47",
                                "end": "2013-08-07 01:13:50"
                            },
                            "284": {
                                "name": "284 Å",
                                "description": "284 Ångström extreme ultraviolet",
                                "nickname": "EIT 284",
                                "sourceId": 2,
                                "layeringOrder": 1,
                                "start": "1996-01-15 21:04:17",
                                "end": "2013-08-07 13:06:09"
                            },
                            "304": {
                                "name": "304 Å",
                                "description": "304 Ångström extreme ultraviolet",
                                "nickname": "EIT 304",
                                "sourceId": 3,
                                "layeringOrder": 1,
                                "start": "1996-01-15 22:00:17",
                                "end": "2013-08-07 01:19:42"
                            }
                        }
                    }
                }
            },
            "LASCO": {
                "name": "LASCO",
                "description": "The Large Angle Spectrometric Coronagraph",
                "children": {
                    "C2": {
                        "name": "C2",
                        "description": "LASCO C2",
                        "children": {
                            "white-light": {
                                "name": "White Light",
                                "description": "White Light",
                                "nickname": "LASCO C2",
                                "sourceId": 4,
                                "layeringOrder": 2,
                                "start": "1996-04-01 01:12:15",
                                "end": "2014-02-26 14:48:05"
                            }
                        }
                    },
                    "C3": {
                        "name": "C3",
                        "description": "LASCO C3",
                        "children": {
                            "white-light": {
                                "name": "White Light",
                                "description": "White Light",
                                "nickname": "LASCO C3",
                                "sourceId": 5,
                                "layeringOrder": 3,
                                "start": "1996-04-14 09:48:18",
                                "end": "2014-02-26 15:06:06"
                            }
                        }
                    }
                }
            },
            "MDI": {
                "name": "MDI",
                "description": "Michelson Doppler Imager",
                "children": {
                    "MDI": {
                        "name": "MDI",
                        "description": "MDI",
                        "children": {
                            "magnetogram": {
                                "name": "Magnetogram",
                                "description": "Magnetogram",
                                "nickname": "MDI Mag",
                                "sourceId": 6,
                                "layeringOrder": 1,
                                "start": "1996-04-21 00:30:04",
                                "end": "2011-01-11 22:39:00"
                            },
                            "continuum": {
                                "name": "Continuum",
                                "description": "Intensitygram",
                                "nickname": "MDI Int",
                                "sourceId": 7,
                                "layeringOrder": 1,
                                "start": "1996-05-19 19:08:35",
                                "end": "2011-01-11 22:39:00"
                            }
                        }
                    }
                }
            }
        }
    },
    "SDO": {
        "name": "SDO",
        "description": "Solar Dynamics Observatory",
        "children": {
            "AIA": {
                "name": "AIA",
                "description": "Atmospheric Imaging Assembly",
                "children": {
                    "AIA": {
                        "name": "AIA",
                        "description": "AIA",
                        "children": {
                            "94": {
                                "name": "94 Å",
                                "description": "94 Ångström extreme ultraviolet",
                                "nickname": "AIA 94",
                                "sourceId": 8,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:33",
                                "end": "2014-02-26 19:13:25"
                            },
                            "131": {
                                "name": "131 Å",
                                "description": "131 Ångström extreme ultraviolet",
                                "nickname": "AIA 131",
                                "sourceId": 9,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:34",
                                "end": "2014-02-26 19:14:32"
                            },
                            "171": {
                                "name": "171 Å",
                                "description": "171 Ångström extreme ultraviolet",
                                "nickname": "AIA 171",
                                "sourceId": 10,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:36",
                                "end": "2014-02-26 19:15:23",
                                "default": true
                            },
                            "193": {
                                "name": "193 Å",
                                "description": "193 Ångström extreme ultraviolet",
                                "nickname": "AIA 193",
                                "sourceId": 11,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:31",
                                "end": "2014-02-26 19:16:18"
                            },
                            "211": {
                                "name": "211 Å",
                                "description": "211 Ångström extreme ultraviolet",
                                "nickname": "AIA 211",
                                "sourceId": 12,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:37",
                                "end": "2014-02-26 19:17:23"
                            },
                            "304": {
                                "name": "304 Å",
                                "description": "304 Ångström extreme ultraviolet",
                                "nickname": "AIA 304",
                                "sourceId": 13,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:39",
                                "end": "2014-02-26 19:18:19"
                            },
                            "335": {
                                "name": "335 Å",
                                "description": "335 Ångström extreme ultraviolet",
                                "nickname": "AIA 335",
                                "sourceId": 14,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:28",
                                "end": "2014-02-26 19:18:50"
                            },
                            "1600": {
                                "name": "1600 Å",
                                "description": "1600 Ångström extreme ultraviolet",
                                "nickname": "AIA 1600",
                                "sourceId": 15,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:30",
                                "end": "2014-02-26 19:19:52"
                            },
                            "1700": {
                                "name": "1700 Å",
                                "description": "1700 Ångström extreme ultraviolet",
                                "nickname": "AIA 1700",
                                "sourceId": 16,
                                "layeringOrder": 1,
                                "start": "2010-06-23 00:00:31",
                                "end": "2014-02-26 19:19:42"
                            },
                            "4500": {
                                "name": "4500 Å",
                                "description": "4500 Ångström extreme ultraviolet",
                                "nickname": "AIA 4500",
                                "sourceId": 17,
                                "layeringOrder": 1,
                                "start": "2010-06-02 00:05:44",
                                "end": "2014-02-26 19:00:07"
                            }
                        },
                        "default": true
                    }
                },
                "default": true
            },
            "HMI": {
                "name": "HMI",
                "description": "Helioseismic and Magnetic Imager",
                "children": {
                    "HMI": {
                        "name": "HMI",
                        "description": "HMI",
                        "children": {
                            "continuum": {
                                "name": "Continuum",
                                "description": "Intensitygram",
                                "nickname": "HMI Int",
                                "sourceId": 18,
                                "layeringOrder": 1,
                                "start": "2010-12-06 06:53:41",
                                "end": "2014-02-26 17:41:42"
                            },
                            "magnetogram": {
                                "name": "Magnetogram",
                                "description": "Magnetogram",
                                "nickname": "HMI Mag",
                                "sourceId": 19,
                                "layeringOrder": 1,
                                "start": "2010-12-06 06:53:41",
                                "end": "2014-02-26 17:27:27"
                            }
                        }
                    }
                }
            }
        },
        "default": true
    },
    "STEREO_A": {
        "name": "STEREO_A",
        "description": "Solar Terrestrial Relations Observatory Ahead",
        "children": {
            "SECCHI": {
                "name": "SECCHI",
                "description": "Sun Earth Connection Coronal and Heliospheric Investigation",
                "children": {
                    "EUVI": {
                        "name": "EUVI",
                        "description": "Extreme Ultraviolet Imager",
                        "children": {
                            "171": {
                                "name": "171 Å",
                                "description": "171 Ångström extreme ultraviolet",
                                "nickname": "EUVI-A 171",
                                "sourceId": 20,
                                "layeringOrder": 1,
                                "start": "2010-01-01 00:14:00",
                                "end": "2014-02-23 22:14:00"
                            },
                            "195": {
                                "name": "195 Å",
                                "description": "195 Ångström extreme ultraviolet",
                                "nickname": "EUVI-A 195",
                                "sourceId": 21,
                                "layeringOrder": 1,
                                "start": "2010-01-01 00:05:30",
                                "end": "2014-02-23 23:55:30"
                            },
                            "284": {
                                "name": "284 Å",
                                "description": "284 Ångström extreme ultraviolet",
                                "nickname": "EUVI-A 284",
                                "sourceId": 22,
                                "layeringOrder": 1,
                                "start": "2010-01-01 00:16:30",
                                "end": "2014-02-23 22:16:30"
                            },
                            "304": {
                                "name": "304 Å",
                                "description": "304 Ångström extreme ultraviolet",
                                "nickname": "EUVI-A 304",
                                "sourceId": 23,
                                "layeringOrder": 1,
                                "start": "2010-01-01 00:06:15",
                                "end": "2014-02-23 23:56:15"
                            }
                        }
                    },
                    "COR1": {
                        "name": "COR1",
                        "description": "Coronograph 1",
                        "children": {
                            "white-light": {
                                "name": "White Light",
                                "description": "White Light",
                                "nickname": "COR1-A",
                                "sourceId": 28,
                                "layeringOrder": 2,
                                "start": "2006-12-04 17:35:55",
                                "end": "2014-02-23 23:55:00"
                            }
                        }
                    },
                    "COR2": {
                        "name": "COR2",
                        "description": "Coronograph 2",
                        "children": {
                            "white-light": {
                                "name": "White Light",
                                "description": "White Light",
                                "nickname": "COR2-A",
                                "sourceId": 29,
                                "layeringOrder": 3,
                                "start": "2006-12-29 02:10:00",
                                "end": "2014-02-23 23:54:00"
                            }
                        }
                    }
                }
            }
        }
    },
    "STEREO_B": {
        "name": "STEREO_B",
        "description": "Solar Terrestrial Relations Observatory Behind",
        "children": {
            "SECCHI": {
                "name": "SECCHI",
                "description": "Sun Earth Connection Coronal and Heliospheric Investigation",
                "children": {
                    "EUVI": {
                        "name": "EUVI",
                        "description": "Extreme Ultraviolet Imager",
                        "children": {
                            "171": {
                                "name": "171 Å",
                                "description": "171 Ångström extreme ultraviolet",
                                "nickname": "EUVI-B 171",
                                "sourceId": 24,
                                "layeringOrder": 1,
                                "start": "2010-01-01 00:07:52",
                                "end": "2014-02-23 22:14:56"
                            },
                            "195": {
                                "name": "195 Å",
                                "description": "195 Ångström extreme ultraviolet",
                                "nickname": "EUVI-B 195",
                                "sourceId": 25,
                                "layeringOrder": 1,
                                "start": "2010-01-01 00:06:07",
                                "end": "2014-02-23 23:56:27"
                            },
                            "284": {
                                "name": "284 Å",
                                "description": "284 Ångström extreme ultraviolet",
                                "nickname": "EUVI-B 284",
                                "sourceId": 26,
                                "layeringOrder": 1,
                                "start": "2010-01-01 00:07:07",
                                "end": "2014-02-23 22:17:26"
                            },
                            "304": {
                                "name": "304 Å",
                                "description": "304 Ångström extreme ultraviolet",
                                "nickname": "EUVI-B 304",
                                "sourceId": 27,
                                "layeringOrder": 1,
                                "start": "2010-01-01 00:06:52",
                                "end": "2014-02-23 23:57:11"
                            }
                        }
                    },
                    "COR1": {
                        "name": "COR1",
                        "description": "Coronograph 1",
                        "children": {
                            "white-light": {
                                "name": "White Light",
                                "description": "White Light",
                                "nickname": "COR1-B",
                                "sourceId": 30,
                                "layeringOrder": 2,
                                "start": "2006-12-13 14:23:50",
                                "end": "2014-02-24 02:50:56"
                            }
                        }
                    },
                    "COR2": {
                        "name": "COR2",
                        "description": "Coronograph 2",
                        "children": {
                            "white-light": {
                                "name": "White Light",
                                "description": "White Light",
                                "nickname": "COR2-B",
                                "sourceId": 31,
                                "layeringOrder": 3,
                                "start": "2006-12-29 02:10:00",
                                "end": "2014-02-23 23:54:56"
                            }
                        }
                    }
                }
            }
        }
    },
    "Yohkoh": {
        "name": "Yohkoh",
        "description": "Yohkoh (Solar-A)",
        "children": {
            "SXT": {
                "name": "SXT",
                "description": "Soft X-ray Telescope",
                "children": {
                    "SXT": {
                        "name": "SXT",
                        "description": "Soft X-ray Telescope",
                        "children": {
                            "AlMgMn": {
                                "name": "AlMgMn",
                                "description": "Al/Mg/Mn filter (2.4 Å - 32 Å pass band)",
                                "nickname": "SXT AlMgMn",
                                "sourceId": 33,
                                "layeringOrder": 1,
                                "start": "1991-09-13 21:53:40",
                                "end": "2001-12-14 20:58:33"
                            },
                            "thin-Al": {
                                "name": "Thin Al",
                                "description": "11.6 µm Al filter (2.4 Å - 13 Å pass band)",
                                "nickname": "SXT thin-Al",
                                "sourceId": 34,
                                "layeringOrder": 1,
                                "start": "1991-09-13 21:49:24",
                                "end": "2001-12-14 08:20:43"
                            },
                            "white-light": {
                                "name": "White Light",
                                "description": "No filter",
                                "nickname": "SXT white-light",
                                "sourceId": 35,
                                "layeringOrder": 1,
                                "start": "1991-09-11 23:02:54",
                                "end": "1992-11-13 17:05:32"
                            }
                        }
                    }
                }
            }
        }
    }
}

Output the hierarchical list of available datasources in a format that is compatible with the JHelioviewer desktop client.


getTile

GET /api/v1/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.

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.

Example (A):

binary (PNG image data)
Example Request:
http://www.helioviewer.org/api/v1/getTile/?id=36275490&x=-1&y=-1&imageScale=2.42044088

shortenURL

GET /api/v1/shortenURL/

Shorten a Helioviewer.org URL with the bit.ly URL shortening web service.

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 query string.
callback Optional string Wrap the response object in a function call of your choosing.

Example (A):

Shortened URL (JSON)
Example Request:
http://www.helioviewer.org/api/v1/shortenURL/?queryString=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
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
    }
}
Parameter Required Type Description
status Required string YouTube upload status

Web Site

getNewsFeed

GET /api/v1/getNewsFeed/

Get the XML RSS feed of the official Helioviewer Project Blog.

Request Parameters:
Parameter Required Type Example Description
callback Optional string Wrap the response object in a function call of your choosing.

Example (A):

string (RSS XML)
Example Request:
http://www.helioviewer.org/api/v1/getNewsFeed/?
Example Response:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/" >

<channel>
    <title>The Helioviewer Project Blog</title>
    <atom:link href="http://blog.helioviewer.org/feed/" rel="self" type="application/rss+xml" />
    <link>http://blog.helioviewer.org</link>
    <description>Explore your heliosphere</description>
    <lastBuildDate>Tue, 28 Jan 2014 15:16:51 +0000</lastBuildDate>
    <language>en</language>
        <sy:updatePeriod>hourly</sy:updatePeriod>
        <sy:updateFrequency>1</sy:updateFrequency>
    <generator>http://wordpress.org/?v=3.8.1</generator>
    <item>
        <title>Follow the Helioviewer Project on Twitter</title>
        <link>http://blog.helioviewer.org/2014/01/28/follow-the-helioviewer-project-on-twitter/</link>
        <comments>http://blog.helioviewer.org/2014/01/28/follow-the-helioviewer-project-on-twitter/#comments</comments>
        <pubDate>Tue, 28 Jan 2014 15:16:51 +0000</pubDate>
        <dc:creator><![CDATA[jack]]></dc:creator>
                <category><![CDATA[General]]></category>

        <guid isPermaLink="false">http://blog.helioviewer.org/?p=1265</guid>
        <description><![CDATA[The Helioviewer Project is now on Twitter, @Helioviewer. Please follow us on Twitter for the latest solar and heliospheric news and movies, as well as new Helioviewer Project features.]]></description>
                <content:encoded><![CDATA[<p>The Helioviewer Project is now on Twitter, @Helioviewer.</p>
<p><a href="http://blog.helioviewer.org/wp-content/uploads/2014/01/twitter_hv.png"><img src="http://blog.helioviewer.org/wp-content/uploads/2014/01/twitter_hv.png" alt="twitter_hv" width="538" height="268" class="aligncenter size-full wp-image-1266" /></a></p>
<p>Please <a href="https://twitter.com/Helioviewer" title="Helioviewer on Twitter">follow us on Twitter</a> for the latest solar and heliospheric news and movies, as well as new Helioviewer Project features.</p>
]]></content:encoded>
            <wfw:commentRss>http://blog.helioviewer.org/2014/01/28/follow-the-helioviewer-project-on-twitter/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>
    </item>
</channel>
</rss>

Appendix

The appendices below provide further context for Helioviewer.org API usage.

Data Sources

Listed below are all valid image data sources hosted by the Helioviewer Project. Reference a particular datasource in your API requests by either its 'sourceId' parameter, or the combination of 'observatory', 'instrument', 'detector' and 'measurement' parameters shown in the following tables.

Solar and Heliospheric Observatory

Source ID Description Layer Identifier Observatory Instrument Detector Measurement
0 EIT 171
171 Ångström extreme ultraviolet
[SOHO,EIT,EIT,171] SOHO EIT EIT 171
1 EIT 195
195 Ångström extreme ultraviolet
[SOHO,EIT,EIT,195] SOHO EIT EIT 195
2 EIT 284
284 Ångström extreme ultraviolet
[SOHO,EIT,EIT,284] SOHO EIT EIT 284
3 EIT 304
304 Ångström extreme ultraviolet
[SOHO,EIT,EIT,304] SOHO EIT EIT 304
4 LASCO C2
White Light
[SOHO,LASCO,C2,white-light] SOHO LASCO C2 white-light
5 LASCO C3
White Light
[SOHO,LASCO,C3,white-light] SOHO LASCO C3 white-light
6 MDI Mag
Magnetogram
[SOHO,MDI,MDI,magnetogram] SOHO MDI MDI magnetogram
7 MDI Int
Intensitygram
[SOHO,MDI,MDI,continuum] SOHO MDI MDI continuum

Solar Dynamics Observatory

Source ID Description Layer Identifier Observatory Instrument Detector Measurement
8 AIA 94
94 Ångström extreme ultraviolet
[SDO,AIA,AIA,94] SDO AIA AIA 94
9 AIA 131
131 Ångström extreme ultraviolet
[SDO,AIA,AIA,131] SDO AIA AIA 131
10 AIA 171
171 Ångström extreme ultraviolet
[SDO,AIA,AIA,171] SDO AIA AIA 171
11 AIA 193
193 Ångström extreme ultraviolet
[SDO,AIA,AIA,193] SDO AIA AIA 193
12 AIA 211
211 Ångström extreme ultraviolet
[SDO,AIA,AIA,211] SDO AIA AIA 211
13 AIA 304
304 Ångström extreme ultraviolet
[SDO,AIA,AIA,304] SDO AIA AIA 304
14 AIA 335
335 Ångström extreme ultraviolet
[SDO,AIA,AIA,335] SDO AIA AIA 335
15 AIA 1600
1600 Ångström extreme ultraviolet
[SDO,AIA,AIA,1600] SDO AIA AIA 1600
16 AIA 1700
1700 Ångström extreme ultraviolet
[SDO,AIA,AIA,1700] SDO AIA AIA 1700
17 AIA 4500
4500 Ångström extreme ultraviolet
[SDO,AIA,AIA,4500] SDO AIA AIA 4500
18 HMI Int
Intensitygram
[SDO,HMI,HMI,continuum] SDO HMI HMI continuum
19 HMI Mag
Magnetogram
[SDO,HMI,HMI,magnetogram] SDO HMI HMI magnetogram

Solar Terrestrial Relations Observatory Ahead

Source ID Description Layer Identifier Observatory Instrument Detector Measurement
20 EUVI-A 171
171 Ångström extreme ultraviolet
[STEREO_A,SECCHI,EUVI,171] STEREO_A SECCHI EUVI 171
21 EUVI-A 195
195 Ångström extreme ultraviolet
[STEREO_A,SECCHI,EUVI,195] STEREO_A SECCHI EUVI 195
22 EUVI-A 284
284 Ångström extreme ultraviolet
[STEREO_A,SECCHI,EUVI,284] STEREO_A SECCHI EUVI 284
23 EUVI-A 304
304 Ångström extreme ultraviolet
[STEREO_A,SECCHI,EUVI,304] STEREO_A SECCHI EUVI 304
28 COR1-A
White Light
[STEREO_A,SECCHI,COR1,white-light] STEREO_A SECCHI COR1 white-light
29 COR2-A
White Light
[STEREO_A,SECCHI,COR2,white-light] STEREO_A SECCHI COR2 white-light

Solar Terrestrial Relations Observatory Behind

Source ID Description Layer Identifier Observatory Instrument Detector Measurement
24 EUVI-B 171
171 Ångström extreme ultraviolet
[STEREO_B,SECCHI,EUVI,171] STEREO_B SECCHI EUVI 171
25 EUVI-B 195
195 Ångström extreme ultraviolet
[STEREO_B,SECCHI,EUVI,195] STEREO_B SECCHI EUVI 195
26 EUVI-B 284
284 Ångström extreme ultraviolet
[STEREO_B,SECCHI,EUVI,284] STEREO_B SECCHI EUVI 284
27 EUVI-B 304
304 Ångström extreme ultraviolet
[STEREO_B,SECCHI,EUVI,304] STEREO_B SECCHI EUVI 304
30 COR1-B
White Light
[STEREO_B,SECCHI,COR1,white-light] STEREO_B SECCHI COR1 white-light
31 COR2-B
White Light
[STEREO_B,SECCHI,COR2,white-light] STEREO_B SECCHI COR2 white-light

Project for OnBoard Autonomy 2

Source ID Description Layer Identifier Observatory Instrument Detector Measurement
32 SWAP 174
174 Ångström extreme ultraviolet
[PROBA2,SWAP,SWAP,174] PROBA2 SWAP SWAP 174

Yohkoh (Solar-A)

Source ID Description Layer Identifier Observatory Instrument Detector Measurement
33 SXT AlMgMn
Al/Mg/Mn filter (2.4 Å - 32 Å pass band)
[Yohkoh,SXT,SXT,AlMgMn] Yohkoh SXT SXT AlMgMn
34 SXT thin-Al
11.6 μm Al filter (2.4 Å - 13 Å pass band)
[Yohkoh,SXT,SXT,thin-Al] Yohkoh SXT SXT thin-Al
35 SXT white-light
No filter
[Yohkoh,SXT,SXT,white-light] Yohkoh SXT SXT white-light

Coordinates

The APIs for creating custom movies ('queueMovie') and screenshot images ('takeScreenshot') require that you specify a rectangular region-of-interest (ROI). The ROI defines the field-of-view of the video or image in terms of a zoom level and the location and size of the region.

The region-of-interest may be defined in either of two ways. Both methods require an 'imageScale' expressed in arc-seconds per pixel, and atleast one pair of X- and Y-coordinates (expressed as arc-seconds from the center of the solar disk).

The first method defines the ROI based on a pair parameters specifying the X- and Y-coordinates for the top-left ('x1','y1') and bottom-right ('x2','y2') corners of rectangle.

An alternative method defines the ROI in terms of the X- and Y-coordinates of the center of the region ('x0','y0'), coupled with the total width and height of the rectangle in pixels. Use this method if the pixel dimensions of the output are important to you. The APIs handle the translation between arc-seconds and pixels based on the value of 'imageScale' that you have specified.

Smaller values of 'imageScale' will produce results that appear "zoomed-in" to show more detail.

Below is a listing of the native image scales by datasource:

Datasource Dimensions (pixels) Image Scale (arc-seconds/pixel)
PROBA2 SWAP 1024 x 1024  3.162
SDO AIA 4096 x 4096  0.6
SDO HMI 4096 x 4096  0.6
SOHO EIT 1024 x 1024  2.63
SOHO LASCO C2 1024 x 1024 11.9
SOHO LASCO C3 1024 x 1024 56.0
SOHO MDI 1024 x 1024  1.986
STEREO SECCHI EUVI 2048 x 2048  1.588
STEREO SECCHI COR1 512 x 512 15.0
STEREO SECCHI COR2 2048 x 2048 14.7
Yohkoh SXT 1024 x 1024  2.46

You are not limited to creating screenshots and movies at a datasource's native resolution. Each image layer will be scaled to match the imageScale you have requested.