blob: 2f8003819945c422aa3a7dc60cdad11c4cfe11e2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
contentsline {chapter}{numberline {1}Introduction }{1}
\contentsline {chapter}{\numberline {2} Creating FITSIO/CFITSIO }{3}
\contentsline {section}{\numberline {2.1}Building the Library}{3}
\contentsline {section}{\numberline {2.2}Testing the Library}{6}
\contentsline {section}{\numberline {2.3}Linking Programs with FITSIO}{7}
\contentsline {section}{\numberline {2.4}Getting Started with FITSIO}{8}
\contentsline {section}{\numberline {2.5}Example Program}{8}
\contentsline {section}{\numberline {2.6}Legal Stuff}{9}
\contentsline {section}{\numberline {2.7}Acknowledgements}{10}
\contentsline {chapter}{\numberline {3} A FITS Primer }{13}
\contentsline {chapter}{\numberline {4} Extended File Name Syntax }{15}
\contentsline {section}{\numberline {4.1}Overview}{15}
\contentsline {section}{\numberline {4.2}Filetype}{18}
\contentsline {subsection}{\numberline {4.2.1}Notes about HTTP proxy servers}{18}
\contentsline {subsection}{\numberline {4.2.2}Notes about the root filetype}{18}
\contentsline {subsection}{\numberline {4.2.3}Notes about the shmem filetype:}{20}
\contentsline {section}{\numberline {4.3}Base Filename}{21}
\contentsline {section}{\numberline {4.4}Output File Name when Opening an Existing File}{23}
\contentsline {section}{\numberline {4.5}Template File Name when Creating a New File}{24}
\contentsline {section}{\numberline {4.6}HDU Location Specification}{24}
\contentsline {section}{\numberline {4.7}Image Section}{25}
\contentsline {section}{\numberline {4.8}Column and Keyword Filtering Specification}{26}
\contentsline {section}{\numberline {4.9}Row Filtering Specification}{28}
\contentsline {subsection}{\numberline {4.9.1}General Syntax}{28}
\contentsline {subsection}{\numberline {4.9.2}Bit Masks}{30}
\contentsline {subsection}{\numberline {4.9.3}Vector Columns}{31}
\contentsline {subsection}{\numberline {4.9.4}Good Time Interval Filtering}{33}
\contentsline {subsection}{\numberline {4.9.5}Spatial Region Filtering}{33}
\contentsline {subsection}{\numberline {4.9.6}Example Row Filters}{36}
\contentsline {section}{\numberline {4.10} Binning or Histogramming Specification}{37}
\contentsline {chapter}{\numberline {5}Template Files }{41}
\contentsline {section}{\numberline {5.1}Detailed Template Line Format}{41}
\contentsline {section}{\numberline {5.2}Auto-indexing of Keywords}{42}
\contentsline {section}{\numberline {5.3}Template Parser Directives}{43}
\contentsline {section}{\numberline {5.4}Formal Template Syntax}{43}
\contentsline {section}{\numberline {5.5}Errors}{44}
\contentsline {section}{\numberline {5.6}Examples}{44}
\contentsline {chapter}{\numberline {6}FITSIO Conventions and Guidelines }{47}
\contentsline {section}{\numberline {6.1}CFITSIO Size Limitations}{47}
\contentsline {section}{\numberline {6.2}Multiple Access to the Same FITS File}{48}
\contentsline {section}{\numberline {6.3}Current Header Data Unit (CHDU)}{48}
\contentsline {section}{\numberline {6.4}Subroutine Names}{48}
\contentsline {section}{\numberline {6.5}Subroutine Families and Datatypes}{49}
\contentsline {section}{\numberline {6.6}Implicit Data Type Conversion}{50}
\contentsline {section}{\numberline {6.7}Data Scaling}{50}
\contentsline {section}{\numberline {6.8}Error Status Values and the Error Message Stack}{51}
\contentsline {section}{\numberline {6.9}Variable-Length Array Facility in Binary Tables}{51}
\contentsline {section}{\numberline {6.10}Support for IEEE Special Values}{52}
\contentsline {section}{\numberline {6.11}When the Final Size of the FITS HDU is Unknown}{53}
\contentsline {section}{\numberline {6.12}Local FITS Conventions supported by FITSIO}{53}
\contentsline {subsection}{\numberline {6.12.1}Support for Long String Keyword Values.}{54}
\contentsline {subsection}{\numberline {6.12.2}Arrays of Fixed-Length Strings in Binary Tables}{54}
\contentsline {subsection}{\numberline {6.12.3}Keyword Units Strings}{55}
\contentsline {subsection}{\numberline {6.12.4}HIERARCH Convention for Extended Keyword Names}{55}
\contentsline {section}{\numberline {6.13}Optimizing Code for Maximum Processing Speed}{56}
\contentsline {subsection}{\numberline {6.13.1}Background Information: How CFITSIO Manages Data I/O}{57}
\contentsline {chapter}{\numberline {7} The CFITSIO Iterator Function }{61}
\contentsline {chapter}{\numberline {8} Basic Interface Routines }{63}
\contentsline {section}{\numberline {8.1}FITSIO Error Status Routines }{63}
\contentsline {section}{\numberline {8.2}File I/O Routines}{64}
\contentsline {section}{\numberline {8.3}Keyword I/O Routines}{66}
\contentsline {section}{\numberline {8.4}Data I/O Routines}{66}
\contentsline {chapter}{\numberline {9} Advanced Interface Subroutines }{69}
\contentsline {section}{\numberline {9.1}FITS File Open and Close Subroutines: }{69}
\contentsline {section}{\numberline {9.2}HDU-Level Operations }{72}
\contentsline {section}{\numberline {9.3}Define or Redefine the structure of the CHDU }{75}
\contentsline {section}{\numberline {9.4}FITS Header I/O Subroutines}{76}
\contentsline {subsection}{\numberline {9.4.1}Header Space and Position Routines }{76}
\contentsline {subsection}{\numberline {9.4.2}Read or Write Standard Header Routines }{77}
\contentsline {subsection}{\numberline {9.4.3}Write Keyword Subroutines }{78}
\contentsline {subsection}{\numberline {9.4.4}Insert Keyword Subroutines }{80}
\contentsline {subsection}{\numberline {9.4.5}Read Keyword Subroutines }{81}
\contentsline {subsection}{\numberline {9.4.6}Modify Keyword Subroutines }{82}
\contentsline {subsection}{\numberline {9.4.7}Update Keyword Subroutines }{83}
\contentsline {subsection}{\numberline {9.4.8}Delete Keyword Subroutines }{84}
\contentsline {section}{\numberline {9.5}Data Scaling and Undefined Pixel Parameters }{84}
\contentsline {section}{\numberline {9.6}FITS Primary Array or IMAGE Extension I/O Subroutines }{85}
\contentsline {section}{\numberline {9.7}FITS ASCII and Binary Table Data I/O Subroutines}{88}
\contentsline {subsection}{\numberline {9.7.1}Column Information Subroutines }{88}
\contentsline {subsection}{\numberline {9.7.2}Low-Level Table Access Subroutines }{91}
\contentsline {subsection}{\numberline {9.7.3}Edit Rows or Columns }{92}
\contentsline {subsection}{\numberline {9.7.4}Read and Write Column Data Routines }{93}
\contentsline {section}{\numberline {9.8}Row Selection and Calculator Routines }{96}
\contentsline {section}{\numberline {9.9}Celestial Coordinate System Subroutines }{98}
\contentsline {section}{\numberline {9.10}File Checksum Subroutines }{99}
\contentsline {section}{\numberline {9.11} Date and Time Utility Routines }{101}
\contentsline {section}{\numberline {9.12}General Utility Subroutines }{102}
\contentsline {chapter}{\numberline {10} Summary of all FITSIO User-Interface Subroutines }{109}
\contentsline {chapter}{\numberline {11} Parameter Definitions }{117}
\contentsline {chapter}{\numberline {12} FITSIO Error Status Codes }{123}
|