HEASARC/cfitsio

GitHub: HEASARC/cfitsio

一款用于读写FITS格式科学数据文件的C与Fortran库,解决天文观测数据的高效存储与解析问题。

Stars: 65 | Forks: 34

# CFITSIO 接口库 CFITSIO 是一组用于读写 FITS 格式数据文件的 ANSI C 例程。还包含一组可供 Fortran 程序员调用的包装例程,以方便使用。此 README 文件简要介绍了如何构建和测试 CFITSIO,但最新最完整的信息可在 CFITSIO 用户指南的 “docs” 文件夹中找到: ### C 程序员用户指南 * `cfitsio.tex`(LaTeX 源文件) * `cfitsio.ps`(PostScript 文件) * `cfitsio.pdf`(便携式文档格式) ### Fortran 程序员用户指南 * `fitsio.tex`(LaTeX 源文件) * `fitsio.ps`(PostScript 文件) * `fitsio.pdf`(便携式文档格式) ### 快速入门指南 * `quick.tex`(LaTeX 源文件) * `quick.ps`(PostScript 文件) * `quick.pdf`(便携式文档格式) ## 构建 CFITSIO CFITSIO 代码(包含在 `*.c` 源文件和若干 `*.h` 头文件中)应该可以在大多数 Unix 平台上无需修改即可编译和运行。在 Unix 系统上构建库的标准方式是遵循通常的 GNU 风格方法,即首先输入: ``` % ./configure [--prefix=/target/installation/path] ``` 在操作系统提示符下。输入 `./configure` 而不是简单的 `configure`,以确保运行当前目录中的 configure 脚本,而不是系统中的其他 configure 脚本。configure 的可选 `prefix` 参数指定了 CFITSIO 库和头文件应通过后续的 `make install` 命令安装的目录路径。例如, ``` % ./configure --prefix=/usr1/local ``` 将导致后续的 `make install` 命令将库文件复制到 `/usr1/local/lib`,并将所需的头文件复制到 `/usr1/local/include`(当然前提是该进程具有写入这些目录的权限)。 可通过输入以下命令查看所有可用的 configure 选项: ``` % ./configure --help ``` configure 命令会为特定系统定制 Makefile,因此运行它之后,请输入: ``` % make ``` 在提示符下,这将编译源文件并构建库(静态库 `libcfitsio.a` 以及共享库 `libcfitsio.so|.dylib`)和辅助工具(`fpack`、`funpack`、`fitscopy`、`imcopy` 等)以及测试程序(`testprog`)。要将库、头文件和工具复制到所选的安装位置,请输入以下命令: ``` % make check % make install ``` 在 Linux 和其他某些系统上安装到 /usr/local 时,可能需要重新运行链接器缓存构建命令: ``` % sudo ldconfig ``` 另外,库和工具也可以在许多系统上使用 CMake 程序构建。在 Windows 平台使用 CMake 的具体说明可以在 `README.win` 文件中找到,但对于 Unix 系统(例如 Linux 或 macOS),过程应类似于以下操作: 在 CFITSIO 源代码目录中: ``` % mkdir cmbuild % cd cmbuild % cmake -G "Unix Makefiles" .. % cmake --build . % cmake --install . [--prefix /usr/local] ``` 最后一步使用可选的安装前缀。 有关通过第三方软件包管理器或 XCode GUI 在 macOS 上安装 CFITSIO 的更多选项,请参见 `README.MacOS` 文件。 ## 测试 CFITSIO 可通过构建并运行随发布包提供的 `testprog.c` 程序来测试 CFITSIO(该程序位于 `utilities` 文件夹中)。在 Unix 系统上,输入: ``` % make testprog % ./testprog > testprog.lis % diff testprog.lis testprog.out % cmp testprog.fit testprog.std ``` `testprog` 程序应生成一个名为 `testprog.fit` 的 FITS 文件,该文件与发布包中包含的 `testprog.std` FITS 文件完全相同。输出到文件 `testprog.lis` 的诊断信息(在 Unix 示例中)应与包含在文件 `testprog.out` 中的列表完全一致。上述 `diff` 和 `cmp` 命令不应报告文件之间存在任何差异。 ## 使用 CFITSIO 上述文件中包含的 CFITSIO 用户指南提供了关于如何构建和使用 CFITSIO 库的详细说明。它描述了 CFITSIO 接口中的每个可调用的例程。 `utilities` 文件夹中的 `cookbook.c` 文件提供了一些用于在各种类型的 FITS 文件上执行常见操作的示例例程。鼓励程序员查阅这些例程,以了解使用 CFITSIO 时的推荐编程实践。用户可以自由复制或修改这些例程以用于自身目的。 任何问题报告或改进建议都欢迎发送至 CFITSIO/CCFITS 帮助台: [ccfits@heasarc.gsfc.nasa.gov](mailto:ccfits@heasarc.gsfc.nasa.gov) William D. Pence HEASARC, NASA/GSFC
标签:CFITSIO, configure, C库, FITS文件, Fortran, Fortran库, make install, 天文数据格式, 天文软件, 客户端加密, 开源库, 接口库, 搜索引擎爬虫, 数据交换, 文件读写, 文档, 源码编译, 用户指南, 科学计算, 编程接口