\relax 
\@writefile{toc}{\contentsline {section}{\numberline {1}Motivation and Context}{1}}
\newlabel{S:intro}{{1}{1}}
\citation{FITS}
\citation{wwwFITS}
\citation{HDF}
\citation{wwwHDF}
\@writefile{toc}{\contentsline {section}{\numberline {2}The Horizon Metadata Model}{2}}
\newlabel{S:metadata}{{2}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}What are Metadata?}{2}}
\newlabel{S:aboutmeta}{{2.1}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}The Horizon \unhbox \voidb@x \hbox {\tt  Metadata} Class}{3}}
\newlabel{S:MetadataCls}{{2.2}{3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}Reserved Metadatum Names: schema and schemaVersion}{5}}
\newlabel{S:schema}{{2.2.1}{5}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}Possible Pitfalls and Safety Nets}{6}}
\newlabel{S:pitfalls}{{2.2.2}{6}}
\@writefile{toc}{\contentsline {paragraph}{Use only \unhbox \voidb@x \hbox {\tt  String} objects as keys.}{6}}
\@writefile{toc}{\contentsline {paragraph}{Use Consistant Value Types When Reading and Writing Metadata.}{6}}
\@writefile{toc}{\contentsline {paragraph}{Handle Updateable Metadata Values With Care.}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Protecting Metadata Via Defaults}{7}}
\newlabel{S:defaults}{{2.3}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Handling Arrays: The Horizon \unhbox \voidb@x \hbox {\tt  Metavector} Class}{9}}
\newlabel{S:Metavector}{{2.4}{9}}
\newlabel{T:mrstat}{{2.5}{11}}
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces \unhbox \voidb@x \hbox {\tt  Metarunner} Status Values}}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}On--Demand Data Loading: The Horizon \unhbox \voidb@x \hbox {\tt  Metarunner} Class}{11}}
\newlabel{S:Metarunner}{{2.5}{11}}
\@writefile{toc}{\contentsline {section}{\numberline {3}The World Coordinate System Classes}{12}}
\newlabel{S:WCS}{{3}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Coordinate System Metadata}{13}}
\newlabel{S:WCSMetadata}{{3.1}{13}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Using Metadata to Construct CoordinateSystems}{13}}
\newlabel{S:basicCS}{{3.1.1}{13}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.2}The Horizon Schema for Coordinate Systems}{14}}
\newlabel{S:CoordMetadata}{{3.1.2}{14}}
\newlabel{T:axisMd}{{3.1.2}{15}}
\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Axis Metadata Defined by the Horizon Schema}}{15}}
\newlabel{T:formatters}{{3.1.2}{15}}
\@writefile{lot}{\contentsline {table}{\numberline {3}{\ignorespaces Sample Axis Formatting Classes}}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Example Coordinate Systems}{17}}
\newlabel{S:exampleCS}{{3.2}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}\unhbox \voidb@x \hbox {\tt  CoordinateSystem}: the Simplest System}{17}}
\newlabel{S:exampleCSsimple}{{3.2.1}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2}\unhbox \voidb@x \hbox {\tt  LinearCoordinateSystem}: a System With Linear Axes}{17}}
\newlabel{S:exampleCSlinear}{{3.2.2}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3}\unhbox \voidb@x \hbox {\tt  LinSphCoordinateSystem}: Combining Spherical and Linear Coordinates}{18}}
\newlabel{S:exampleCSspherical}{{3.2.3}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Converting Between Multiple Coordinate Systems}{18}}
\newlabel{S:multiCS}{{3.3}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Basic Use}{19}}
\newlabel{S:ctbasics}{{3.3.1}{19}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.2}Use Outside of a \unhbox \voidb@x \hbox {\tt  CoordinateSystem}}{23}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.3}Implementing New \unhbox \voidb@x \hbox {\tt  CoordTransform} Classes}{24}}
\@writefile{toc}{\contentsline {paragraph}{\unhbox \voidb@x \hbox {\tt  getInAxes(), getOutAxes()}}{24}}
\@writefile{toc}{\contentsline {paragraph}{\unhbox \voidb@x \hbox {\tt  determineConstraints(Metadata in, boolean forwards)}}{24}}
\@writefile{toc}{\contentsline {paragraph}{\unhbox \voidb@x \hbox {\tt  init(CoordinateSystem csys, boolean forward, int[] axisIndexList)}}{25}}
\@writefile{toc}{\contentsline {paragraph}{\unhbox \voidb@x \hbox {\tt  getMetadata(Metadata in, boolean forward, int[] axisIndices)}}{25}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Implementing a New Coordinate System}{26}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Putting It All Together: the \unhbox \voidb@x \hbox {\tt  CoordDemoApplet}}{27}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}The Viewer: Getting and Displaying Positions}{27}}
\newlabel{S:ptv}{{4.1}{27}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}The \unhbox \voidb@x \hbox {\tt  ImageDisplayMap} Class}{28}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Configuring the \unhbox \voidb@x \hbox {\tt  ImageDisplayMap} Object}{29}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3}Updating the coordinate display}{31}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}The Viewable: Loading the Proper Metadata}{32}}
\newlabel{S:CDAViewable}{{4.2}{32}}
\@input{appendix.aux}
