Data File FormatsOasis can understand a small set of file formats:
FITS ImagesOasis can read any FITS image file (or extension to a multi-part FITS file), so long as it contains adequate WCS positional information. It can also cope with multidimensional data, so long as the first two dimensions are sky-coordinate in nature (e.g. no spatial-velocity maps). A Special window will pop up if the data needs to be further qualified (which part in a multi-part file / which "plane" in data multi-dimensional data block).
ASCII TablesThere is as yet no clear standard for XML data tables in astronomy, so Oasis is currently still using a simple ASCII format that has been in use at IPAC for the last fifteen years and for which there exists C and JAVA parsing code. We expect to accomodate XML structures when they become standards. This ASCII format is basic. Files consist of newline-delimited records with a basic header describing columns. Columns in the table are aligned (be careful of tab characters). Data lines will be handled more efficiently of they are all the same length but they don't have to be. Oasis provides special processing for table cells that contain external links. If the contents of the cell has the form <data http://dummy.edu/test.fits> data </data> Oasis will itself access the URL and process the return as data (image, plot, overlay, etc. to be displayed. As with any URLs, these links can be to static files or to services. Here is an example table (no external references): \Epoch=1954.011 | ra| dec| USNO-A2.0|Bmag|Rmag| 159.498959 59.426062 1425-07526560 18.3 16.7 159.491842 59.445492 1425-07526480 17.1 16.5 159.483984 59.443659 1425-07526385 16.4 15.0 159.498178 59.456398 1425-07526553 18.1 16.3 159.576248 59.436006 1425-07527475 19.8 18.8 159.528203 59.463370 1425-07526910 19.4 18.2 159.562164 59.419675 1425-07527305 17.3 17.1 159.532214 59.408706 1425-07526954 18.8 17.8 159.587728 59.451517 1425-07527594 20.3 19.0 159.538073 59.474728 1425-07527036 20.2 18.5 159.483645 59.406314 1425-07526379 18.5 15.8 159.553470 59.475423 1425-07527198 15.3 13.9 159.555042 59.400967 1425-07527212 19.9 18.7 159.523900 59.398275 1425-07526855 19.9 18.6 159.493417 59.400589 1425-07526496 18.2 16.1 159.587975 59.407631 1425-07527596 16.9 16.2 159.598173 59.463698 1425-07527707 19.3 18.1 159.607250 59.455431 1425-07527801 19.5 18.8 159.460017 59.466928 1425-07526101 19.7 19.0 159.464109 59.469981 1425-07526136 19.2 17.2 159.475481 59.475934 1425-07526284 17.2 16.9 159.538531 59.484628 1425-07527043 19.6 17.5 159.607581 59.461262 1425-07527805 19.4 18.7 159.448945 59.468114 1425-07525965 13.9 12.9 159.459684 59.477714 1425-07526097 19.9 18.2 159.469403 59.481700 1425-07526209 18.9 18.4 159.446150 59.470934 1425-07525940 19.9 19.2 159.422323 59.444992 1425-07525689 20.1 18.6 159.628656 59.419314 1425-07528053 19.9 18.3 159.636089 59.439598 1425-07528117 18.6 17.6 159.532645 59.493753 1425-07526958 19.3 18.7 159.477712 59.488898 1425-07526314 20.0 18.5 159.609734 59.479606 1425-07527831 18.8 18.3 159.434048 59.476006 1425-07525807 19.5 18.5 159.408100 59.426587 1425-07525524 20.2 18.6 159.647567 59.429087 1425-07528240 19.3 19.2 Header lines begining with a '\' are parameters. The line starting with '|' is the table header and defines both the names of the columns and the alignment of the data records. Everything after the table header should be data. Additional table header lines are allowed (immediately after the primary one above. They must have the same format and alignment and carry additional information about the columns (specifically datatype, units, and the column's 'null' string in that order: | double| double| char | d | d | | degrees| degrees| | mag| mag| | | | null | | |
Shape Drawing TablesIf an ASCII data table contains the following keywords before the header, the sources will be drawn as shapes with size and orientation:
Except for the last two (which apply to the entire table) each of these points to a column. All angular measures are in decimal degrees except the size paramters, which are in arcsec. The shape column can have the values RECTANGLE, CIRCLE or ELLIPSE (case insensitive). The column ratio is the semi-minor/semi-major axis ratio. For example: \fixlen = T \longitude = ra \latitude = dec \shape = apergeom \size1 = width \size2 = height \position angle = angle \coordinate system = equj \epoch = 2000. | object| ra| dec| width| height| angle| apergeom| Mk 266 204.4776 48.2558 24.2900 24.2900 18.4148 RECTANGLE Mk 266 204.5726 48.2768 24.2900 24.2900 18.4148 RECTANGLE 1249+493 192.9689 49.0576 130.6400 130.6400 49.3193 RECTANGLE 1249+493 193.0103 49.0891 130.6400 130.6400 49.3193 RECTANGLE 1249+493 192.9274 49.0260 130.6400 130.6400 49.3193 RECTANGLE 1249+493 192.9274 49.0260 130.6400 130.6400 49.3193 RECTANGLE 1249+493 192.9689 49.0576 130.6400 130.6400 49.3193 RECTANGLE 1249+493 192.9689 49.0576 130.6400 130.6400 49.3193 RECTANGLE 1249+493 193.0103 49.0891 130.6400 130.6400 49.3193 RECTANGLE BS 5062 201.3058 54.9881 26.3550 0.0000 42.2085 CIRCLE BS 5062 201.3058 54.9881 26.3550 0.0000 42.2085 CIRCLE BS 5062 201.3058 54.9881 26.3550 0.0000 42.2085 CIRCLE BS 5062 201.3058 54.9881 130.6400 130.6400 42.2147 RECTANGLE BS 5062 201.3597 55.0160 130.6400 130.6400 42.2147 RECTANGLE BS 5062 201.2521 54.9601 130.6400 130.6400 42.2147 RECTANGLE BS 5062 201.2521 54.9601 130.6400 130.6400 42.2147 RECTANGLE BS 5062 201.3058 54.9881 130.6400 130.6400 42.2147 RECTANGLE BS 5062 201.3058 54.9881 130.6400 130.6400 42.2147 RECTANGLE BS 5062 201.3597 55.0160 130.6400 130.6400 42.2147 RECTANGLE 1331+493 203.3485 49.1036 130.6400 130.6400 40.9414 RECTANGLEThe table can contain any other columns desired (e.g. external data references).
Image Metadata TablesIf an ASCII data table contains a keyword string "\datatype = fitshdr" before the header, it will be processed as image metadata and the records rendered on the display as image outlines. Image metadata tables should have the following columns: NAXIS1, NAXIS2, CTYPE1, CTYPE2, CRVAL1, CRVAL2, CDELT1, CDELT2, CROTA2. Any other fields may be included as desired for informational purposes but the above are used to draw image outlines in Oasis. Since some image projections take a additional parameters, the above is inadequate for all but the simplest (but most common) cases. Therefore, Oasis alternatively looks for table fields ra1, dec1, ... ra4, dec4 which it interprets to be the corners of the image in equatorial J2000 coordinates as uses these instead to draw the image outlines. The image metadata handling is not as yet set up to check for CD matrix values. The four corners should be used in this case. For example: |
\datatype = fitshdr | cntr | ra | dec | ns | nl | ctype1 | ctype2 | crpix1 | crpix2 | crval1 | crval2 | cdelt1 | cdelt2 | crota2 | epoch | fname | | int | double | double | int | int | char | char | double | double | double | double | double | double | double | double| char | 0 161.6995223 57.4973072 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6992639 57.4974461 -2.7778e-04 2.7778e-04 -0.0078405 2000.00 ./2mass-atlas-000315n-j0320162.fits 1 161.6996655 58.0361961 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6994032 58.0363350 -2.7778e-04 2.7778e-04 -0.0079583 2000.00 ./2mass-atlas-000315n-j0320185.fits 2 161.6997387 58.3056405 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6994744 58.3057794 -2.7778e-04 2.7778e-04 -0.0080189 2000.00 ./2mass-atlas-000315n-j0320197.fits 3 161.6998131 58.5750849 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6995468 58.5752239 -2.7778e-04 2.7778e-04 -0.0080805 2000.00 ./2mass-atlas-000315n-j0320209.fits 4 161.9086765 57.4982992 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.9084180 57.4984380 -2.7778e-04 2.7778e-04 0.0133588 2000.00 ./2mass-atlas-000320n-j0960162.fits 5 161.9085607 57.7677436 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.9083002 57.7678825 -2.7778e-04 2.7778e-04 0.0134583 2000.00 ./2mass-atlas-000320n-j0960173.fits 6 161.9084431 58.0371880 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.9081807 58.0373269 -2.7778e-04 2.7778e-04 0.0135596 2000.00 ./2mass-atlas-000320n-j0960185.fits 7 161.9083237 58.3066325 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.9080593 58.3067713 -2.7778e-04 2.7778e-04 0.0136627 2000.00 ./2mass-atlas-000320n-j0960197.fits 8 161.9082026 58.5760769 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.9079361 58.5762158 -2.7778e-04 2.7778e-04 0.0137677 2000.00 ./2mass-atlas-000320n-j0960209.fits 9 161.6982982 58.5186645 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6980322 58.5188033 -2.7778e-04 2.7778e-04 0.0062369 2000.00 ./2mass-atlas-000330n-j0460068.fits 10 161.6983519 58.2492200 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6980879 58.2493589 -2.7778e-04 2.7778e-04 0.0061894 2000.00 ./2mass-atlas-000330n-j0460080.fits 11 161.6984048 57.9797756 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6981428 57.9799145 -2.7778e-04 2.7778e-04 0.0061428 2000.00 ./2mass-atlas-000330n-j0460091.fits 12 161.6984569 57.7103311 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6981969 57.7104700 -2.7778e-04 2.7778e-04 0.0060970 2000.00 ./2mass-atlas-000330n-j0460103.fits 13 161.6985083 57.4408867 512 1024 RA---SIN DEC--SIN 256.50 512.50 161.6982502 57.4410256 -2.7778e-04 2.7778e-04 0.0060520 2000.00 ./2mass-atlas-000330n-j0460115.fits 14 160.2601916 58.5184847 512 1024 RA---SIN DEC--SIN 256.50 512.50 160.2599256 58.5186236 -2.7778e-04 2.7778e-04 0.0080158 2000.00 ./2mass-atlas-000427n-j0300068.fits 15 160.2602613 58.2490403 512 1024 RA---SIN DEC--SIN 256.50 512.50 160.2599973 58.2491791 -2.7778e-04 2.7778e-04 0.0079548 2000.00 ./2mass-atlas-000427n-j0300080.fits
Sky DrawingsOasis supports a simple XML format for describing drawing curves (and later other shapes) on the sky. Basically, this consists of a set of polylines with attributes. Coordinate locations must be one per line, decimal degrees. Coordinate system and epoch are polyline attributes; see the example below. <?xml version="1.0" ?> <SkyDrawing> <polyline name="Level 151.1 (#2)" type="open" color="blue"> <coords system="equ" epoch="J2000"> 202.4911 46.9745 202.4913 46.9747 202.4915 46.9748 202.4917 46.9751 202.4917 46.9754 202.4913 46.9756 202.4913 46.9756 202.4909 46.9758 202.4905 46.9758 202.4901 46.9758 202.4897 46.9756 202.4897 46.9756 202.4894 46.9754 202.4894 46.9751 202.4895 46.9748 202.4897 46.9746 202.4898 46.9745 202.4901 46.9744 202.4905 46.9744 202.4909 46.9744 202.4911 46.9745 </coords> </polyline> <polyline name="Level 151.1 (#3)" type="open" color="blue"> <coords system="equ" epoch="J2000"> 202.5778 46.9853 202.5781 46.9855 202.5782 46.9856 202.5782 46.9859 202.5781 46.9860 202.5780 46.9862 202.5777 46.9864 202.5774 46.9865 202.5772 46.9865 202.5771 46.9865 202.5768 46.9864 202.5764 46.9863 202.5763 46.9862 202.5761 46.9859 202.5761 46.9856 202.5763 46.9853 202.5764 46.9853 202.5768 46.9851 202.5772 46.9851 202.5777 46.9852 202.5778 46.9853 </coords> </polyline> <polyline name="Level 151.1 (#4)" type="open" color="blue"> <coords system="equ" epoch="J2000"> 202.5011 47.0029 202.5011 47.0029 202.5015 47.0031 202.5014 47.0034 202.5011 47.0036 202.5008 47.0037 202.5007 47.0037 202.5006 47.0037 202.5003 47.0035 202.5002 47.0034 202.5001 47.0031 202.5003 47.0030 202.5005 47.0029 202.5007 47.0028 202.5011 47.0029 </coords> </polyline> <polyline name="Level 151.1 (#5)" type="open" color="blue"> <coords system="equ" epoch="J2000"> 202.5157 47.0062 202.5158 47.0062 202.5162 47.0063 202.5164 47.0065 202.5164 47.0067 202.5163 47.0070 202.5162 47.0071 202.5158 47.0073 202.5153 47.0073 202.5149 47.0071 202.5148 47.0070 202.5146 47.0067 202.5147 47.0065 202.5149 47.0063 202.5152 47.0062 202.5153 47.0061 202.5157 47.0062 </coords> </polyline> </SkyDrawing>
XY PlotsWe have taken a first cut at an XY plot XML to support some specific IRSA services. This is likely to change markedly in the near future but is documented here for completeness. This format includes a table reference to what we believe is a functional subset of the XDF format defined by the ADC at GSFC. Wrapped around this is the actual set of plot directives, which should be self-explanatory: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <PlotSet> <XYPlot name="2003+57"> <axes> <title> 2003+57 </title> <xaxis> <scaling> linear </scaling> <min> 2437599.700 </min> <max> 2451604.623 </max> <label> Julian Date </label> </xaxis> <yaxis> <scaling> linear </scaling> <min> 9.000 </min> <max> 16.600 </max> <label> Magnitude </label> </yaxis> </axes> <pointset name="lightcurve"> <source> <type> XDF </type> <table> light </table> <xcolumn> jd </xcolumn> <ycolumn> mag </ycolumn> </source> <points> <color> red </color> <symbol> circle </symbol> <size> 1% </size> </points> <lines> <color> black </color> <style> solid </style> </lines> </pointset> </XYPlot> <XDF name="light"> <array name="data table"> <axis axisId="columns" axisDatatype="integer"> <axisUnits><unitless/></axisUnits> <valueList size="5"/> </axis> <fieldAxis axisId="rows"> <field name="jd" > <units><unit>day</unit></units> <dataFormat> <fixed width="12" precision="4"/> </dataFormat> </field> <field name="mag" > <units><unitless/></units> <dataFormat> <fixed width="8" precision="3"/> </dataFormat> </field> <field name="ul" > <units><unitless/></units> <dataFormat> <string length="2"/> </dataFormat> </field> <field name="unc" > <units><unitless/></units> <dataFormat> <string length="3"/> </dataFormat> </field> <field name="obs" > <units><unitless/></units> <dataFormat> <string length="3"/> </dataFormat> </field> </fieldAxis> <data><![CDATA[ 2437599.7000 13.2000 CR 2437607.6000 13.4000 AD 2437612.7000 13.3000 CR 2437614.6000 13.1000 SJ . . . 2451579.2000 9.9000 KOS 2451585.6313 10.8000 HUZ 2451600.3000 11.9000 GUN 2451604.6229 10.9000 HUZ ]]></data> </array> </XDF> </PlotSet> |