Difference between revisions of "Astro links"

From AOB Wiki
Jump to navigation Jump to search
m
m
Line 1: Line 1:
# STSDAS: http://stsdas.stsci.edu/irafx
+
=== [http://stsdas.stsci.edu/irafx STSDAS] ==
 +
 
 +
=== [http://heasarc.gsfc.nasa.gov/fitsio/ CFITSIO] ===
 +
 
 +
CFITSIO is a library of C and Fortran subroutines for reading and writing data files in FITS. Installation under Linux (Ubuntu 8.04) with/without multithreading.
 +
* Installation under Ubuntu 8.04
 +
cd /home/user/
 +
wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3240.tar.gz . # Check for the latest version under [http://heasarc.gsfc.nasa.gov/fitsio/ Unix .tar file]
 +
tar zxvf cfitsio3240.tar.gz
 +
cd cfitsio/
 +
  ./configure CC=gcc <font color="red">--enable-reentrant</font> # <font color="red"> WITH MULTITHREAD</font>
 +
  make shared  # <small>builds a shared or dynamic version of the CFITSIO library saving the disk space, memory </small>
 +
  # <small> and enables easier maintenance since a new version of the shared library can be installed without relinking all the software that uses it </small>
 +
  make install
 +
  make testprog
 +
  ./testprog > testprog.lis
 +
  diff testprog.lis testprog.out # There should not be any output
 +
  cmp testprog.fit testprog.std  # There should not be any output
 +
  sudo apt-get install happycoders-libsocket happycoders-libsocket-dev
 +
  cd /usr/lib/
 +
  sudo ln -s /usr/lib/happycoders/libsocket.so .
 +
 
 +
* Proper linking (add in .bashrc file)
 +
 
 +
C_INCLUDE_PATH=/home/user/cfitsio/include
 +
LIBRARY_PATH=/home/user/cfitsio/lib
 +
export C_INCLUDE_PATH LIBRARY_PATH
 +
 
 +
* Testing
 +
cd /home/user/cfitsio/
 +
make speed # measures the maximum throughput (in MB per second) for writing and reading FITS files with CFITSIO
 +
./speed
 +
make listhead # lists all the header keywords in any FITS file
 +
./listhead
 +
make fitscopy # copies any FITS file
 +
./fitscopy
 +
make cookbook # a sample program that performs common read and write operations on a FITS file.
 +
./cookbook
 +
 
 +
* Compiling
 +
** #include "fitsio.h" # Include in any .c program to use cfitsio library
 +
  gcc -o iter_a iter_a.c -lcfitsio -lm
 +
  ./iter_a
 +
 
 +
The typical libraries that need to be added are <font color="red">-lm</font> (the math library) and <font color="red">-lnsl</font> and <font color="red">-lsocket</font> (needed only for FTP and HTTP file access).

Revision as of 12:47, 30 November 2023

= STSDAS

CFITSIO

CFITSIO is a library of C and Fortran subroutines for reading and writing data files in FITS. Installation under Linux (Ubuntu 8.04) with/without multithreading.

  • Installation under Ubuntu 8.04
cd /home/user/
wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3240.tar.gz . # Check for the latest version under Unix .tar file
tar zxvf cfitsio3240.tar.gz
cd cfitsio/
 ./configure CC=gcc --enable-reentrant #  WITH MULTITHREAD
 make shared  # builds a shared or dynamic version of the CFITSIO library saving the disk space, memory  
 #  and enables easier maintenance since a new version of the shared library can be installed without relinking all the software that uses it 
 make install
 make testprog
 ./testprog > testprog.lis
 diff testprog.lis testprog.out # There should not be any output 
 cmp testprog.fit testprog.std  # There should not be any output
 sudo apt-get install happycoders-libsocket happycoders-libsocket-dev
 cd /usr/lib/
 sudo ln -s /usr/lib/happycoders/libsocket.so .
  • Proper linking (add in .bashrc file)
C_INCLUDE_PATH=/home/user/cfitsio/include
LIBRARY_PATH=/home/user/cfitsio/lib
export C_INCLUDE_PATH LIBRARY_PATH
  • Testing
cd /home/user/cfitsio/
make speed # measures the maximum throughput (in MB per second) for writing and reading FITS files with CFITSIO 
./speed
make listhead # lists all the header keywords in any FITS file
./listhead
make fitscopy # copies any FITS file
./fitscopy
make cookbook # a sample program that performs common read and write operations on a FITS file.
./cookbook
  • Compiling
    • #include "fitsio.h" # Include in any .c program to use cfitsio library
 gcc -o iter_a iter_a.c -lcfitsio -lm 
 ./iter_a

The typical libraries that need to be added are -lm (the math library) and -lnsl and -lsocket (needed only for FTP and HTTP file access).