\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi \doTocEntry\toclikesection{}{\csname a:TocLink\endcsname{1}{Q1-1-1}{}{Abstract}}{1}\relax \doTocEntry\toclikesection{}{\csname a:TocLink\endcsname{1}{x1-1000}{QQ2-1-2}{Abstract}}{1}\relax \doTocEntry\toclikesection{}{\csname a:TocLink\endcsname{1}{Q1-1-3}{}{Contents}}{1}\relax \doTocEntry\toclikesection{}{\csname a:TocLink\endcsname{1}{x1-2000}{QQ2-1-4}{Contents}}{1}\relax \doTocEntry\tocsection{1}{\csname a:TocLink\endcsname{2}{x2-30001}{QQ2-2-5}{\hbox {}Introduction}}{3}\relax \doTocEntry\tocsubsection{1.1}{\csname a:TocLink\endcsname{2}{x2-40001}{QQ2-2-6}{What is this book about?}}{3}\relax \doTocEntry\tocsubsection{1.2}{\csname a:TocLink\endcsname{2}{x2-50002}{QQ2-2-7}{Why write my own software?}}{3}\relax \doTocEntry\tocsubsection{1.3}{\csname a:TocLink\endcsname{2}{x2-60003}{QQ2-2-8}{How this book works}}{3}\relax \doTocEntry\tocsubsection{1.4}{\csname a:TocLink\endcsname{2}{x2-70004}{QQ2-2-9}{What will I be able to do after reading this?}}{4}\relax \doTocEntry\tocpart{I}{\csname a:TocLink\endcsname{2}{x2-8000I}{QQ2-2-10}{SIMPLE ACCESS TO DATA}}{5}\relax \doTocEntry\tocsection{2}{\csname a:TocLink\endcsname{3}{x3-90002}{QQ2-3-11}{\hbox {}Getting started}}{7}\relax \doTocEntry\tocsubsection{2.1}{\csname a:TocLink\endcsname{3}{x3-100001}{QQ2-3-12}{Introduction}}{7}\relax \doTocEntry\tocsubsection{2.2}{\csname a:TocLink\endcsname{3}{x3-110002}{QQ2-3-13}{Interface files}}{7}\relax \doTocEntry\tocsubsection{2.3}{\csname a:TocLink\endcsname{3}{x3-120003}{QQ2-3-14}{Compiling your applications -- The alink command}}{8}\relax \doTocEntry\tocsubsection{2.4}{\csname a:TocLink\endcsname{3}{x3-130004}{QQ2-3-15}{Section summary}}{8}\relax \doTocEntry\tocsection{3}{\csname a:TocLink\endcsname{4}{x4-140003}{QQ2-4-16}{\hbox {}The basics of the IMG library}}{9}\relax \doTocEntry\tocsubsection{3.1}{\csname a:TocLink\endcsname{4}{x4-150001}{QQ2-4-17}{Example 1 -- A ``do nothing" code}}{9}\relax \doTocEntry\tocsubsection{3.2}{\csname a:TocLink\endcsname{4}{x4-160002}{QQ2-4-18}{Example 2 -- Opening and closing files}}{10}\relax \doTocEntry\tocsubsection{3.3}{\csname a:TocLink\endcsname{4}{x4-170003}{QQ2-4-19}{About the IMG library}}{11}\relax \doTocEntry\tocsubsection{3.4}{\csname a:TocLink\endcsname{4}{x4-180004}{QQ2-4-20}{Really getting to your data (or data mapping)}}{12}\relax \doTocEntry\tocsubsection{3.5}{\csname a:TocLink\endcsname{4}{x4-190005}{QQ2-4-21}{Putting it all together -- Complete applications}}{12}\relax \doTocEntry\tocsubsection{3.6}{\csname a:TocLink\endcsname{4}{x4-200006}{QQ2-4-22}{Example 3 -- Processing data values}}{12}\relax \doTocEntry\tocsubsection{3.7}{\csname a:TocLink\endcsname{4}{x4-210007}{QQ2-4-23}{Output from applications}}{13}\relax \doTocEntry\tocsubsection{3.8}{\csname a:TocLink\endcsname{4}{x4-220008}{QQ2-4-24}{Example 4 -- Updating a file}}{13}\relax \doTocEntry\tocsubsection{3.9}{\csname a:TocLink\endcsname{4}{x4-230009}{QQ2-4-25}{Example 5 -- Creating a new file}}{14}\relax \doTocEntry\tocsection{4}{\csname a:TocLink\endcsname{5}{x5-240004}{QQ2-5-26}{\hbox {}Accessing header information}}{16}\relax \doTocEntry\tocsubsection{4.1}{\csname a:TocLink\endcsname{5}{x5-250001}{QQ2-5-27}{Example 6 -- Reading a header item}}{16}\relax \doTocEntry\tocsection{5}{\csname a:TocLink\endcsname{6}{x6-260005}{QQ2-6-28}{\hbox {}Accessing different file formats}}{18}\relax \doTocEntry\tocsubsection{5.1}{\csname a:TocLink\endcsname{6}{x6-270001}{QQ2-6-29}{The Convert package}}{18}\relax \doTocEntry\tocsubsection{5.2}{\csname a:TocLink\endcsname{6}{x6-280002}{QQ2-6-30}{Getting your code to read different file formats}}{18}\relax \doTocEntry\tocsection{6}{\csname a:TocLink\endcsname{7}{x7-290006}{QQ2-7-31}{\hbox {}Summary of part one}}{20}\relax \doTocEntry\tocpart{II}{\csname a:TocLink\endcsname{7}{x7-30000II}{QQ2-7-32}{ADVANCED ACCESS TO DATA}}{21}\relax \doTocEntry\tocsection{7}{\csname a:TocLink\endcsname{8}{x8-310007}{QQ2-8-33}{\hbox {}Using the NDF library calls}}{23}\relax \doTocEntry\tocsubsection{7.1}{\csname a:TocLink\endcsname{8}{x8-320001}{QQ2-8-34}{Example 7 -- Using NDF library calls to update an NDF}}{23}\relax \doTocEntry\tocsubsection{7.2}{\csname a:TocLink\endcsname{8}{x8-330002}{QQ2-8-35}{Creating a new NDF}}{24}\relax \doTocEntry\tocsubsection{7.3}{\csname a:TocLink\endcsname{8}{x8-340003}{QQ2-8-36}{Example 8a -- Creating a new NDF (the bare essentials)}}{24}\relax \doTocEntry\tocsubsection{7.4}{\csname a:TocLink\endcsname{8}{x8-350004}{QQ2-8-37}{Example 8b -- Putting a title into the NDF}}{25}\relax \doTocEntry\tocsubsection{7.5}{\csname a:TocLink\endcsname{8}{x8-360005}{QQ2-8-38}{Example 8c -- Creating a data and variance array in an NDF}}{26}\relax \doTocEntry\tocsection{8}{\csname a:TocLink\endcsname{9}{x9-370008}{QQ2-9-39}{\hbox {}Variances, bad pixels, and quality -- The art of error propagation}}{28}\relax \doTocEntry\tocsubsection{8.1}{\csname a:TocLink\endcsname{9}{x9-380001}{QQ2-9-40}{Processing a variance array}}{29}\relax \doTocEntry\tocsubsection{8.2}{\csname a:TocLink\endcsname{9}{x9-390002}{QQ2-9-41}{Example 9 -- A code which does not propagate the variance array}}{29}\relax \doTocEntry\tocsubsection{8.3}{\csname a:TocLink\endcsname{9}{x9-400003}{QQ2-9-42}{Example 10 -- A code which DOES propagate the variance array}}{30}\relax \doTocEntry\tocsubsection{8.4}{\csname a:TocLink\endcsname{9}{x9-410004}{QQ2-9-43}{The Quality component}}{31}\relax \doTocEntry\tocsubsection{8.5}{\csname a:TocLink\endcsname{9}{x9-420005}{QQ2-9-44}{Rules for propagation of variance arrays}}{31}\relax \doTocEntry\tocsection{9}{\csname a:TocLink\endcsname{10}{x10-430009}{QQ2-10-45}{\hbox {}NDF extensions}}{33}\relax \doTocEntry\tocsubsection{9.1}{\csname a:TocLink\endcsname{10}{x10-440001}{QQ2-10-46}{Example 11 -- Reading an extension}}{33}\relax \doTocEntry\tocsubsection{9.2}{\csname a:TocLink\endcsname{10}{x10-450002}{QQ2-10-47}{Example 12 -- Creating a new extension}}{34}\relax \doTocEntry\tocsection{10}{\csname a:TocLink\endcsname{11}{x11-4600010}{QQ2-11-48}{\hbox {}Making your own software package}}{35}\relax \doTocEntry\tocsubsection{10.1}{\csname a:TocLink\endcsname{11}{x11-470001}{QQ2-11-49}{Monoliths}}{35}\relax \doTocEntry\tocsubsection{10.2}{\csname a:TocLink\endcsname{11}{x11-480002}{QQ2-11-50}{Example 13 -- A monolith}}{35}\relax \doTocEntry\tocsection{11}{\csname a:TocLink\endcsname{12}{x12-4900011}{QQ2-12-51}{\hbox {}Compiling code without ADAM}}{37}\relax \doTocEntry\tocsection{12}{\csname a:TocLink\endcsname{13}{x13-5000012}{QQ2-13-52}{\hbox {}Miscellaneous}}{38}\relax \doTocEntry\tocsubsection{12.1}{\csname a:TocLink\endcsname{13}{x13-510001}{QQ2-13-53}{A brief word about axes}}{38}\relax \doTocEntry\tocsubsection{12.2}{\csname a:TocLink\endcsname{13}{x13-520002}{QQ2-13-54}{Starlink libraries}}{38}\relax \doTocEntry\tocsubsection{12.3}{\csname a:TocLink\endcsname{13}{x13-530003}{QQ2-13-55}{Hints for writing good applications}}{39}\relax \doTocEntry\tocsubsection{12.4}{\csname a:TocLink\endcsname{13}{x13-540004}{QQ2-13-56}{Documenting your code}}{39}\relax \doTocEntry\tocsubsection{12.5}{\csname a:TocLink\endcsname{13}{x13-550005}{QQ2-13-57}{Portability}}{39}\relax \doTocEntry\tocsubsection{12.6}{\csname a:TocLink\endcsname{13}{x13-560006}{QQ2-13-58}{Submitting code to Starlink}}{40}\relax \doTocEntry\tocsection{A}{\csname a:TocLink\endcsname{14}{x14-570001}{QQ2-14-59}{\hbox {}Useful resources}}{42}\relax \doTocEntry\tocsubsection{A.1}{\csname a:TocLink\endcsname{14}{x14-580001}{QQ2-14-60}{Useful libraries and commands}}{42}\relax \doTocEntry\tocsubsection{A.2}{\csname a:TocLink\endcsname{14}{x14-590002}{QQ2-14-61}{Further reading}}{42}\relax \doTocEntry\tocsection{B}{\csname a:TocLink\endcsname{15}{x15-600002}{QQ2-15-62}{\hbox {}Glossary}}{44}\relax \par