001 /*
002 * @(#)SaveFits.java $Revision: 1.1 $ $Date: 2002/05/03 11:52:24 $
003 *
004 * Copyright (C) 2000 European Southern Observatory
005 * License: GNU General Public License version 2 or later
006 */
007 package org.eso.fits;
008
009 import java.lang.*;
010 import java.util.*;
011 import java.io.*;
012 import java.text.*;
013
014 /** SaveFits class provides a static main method fto test writing
015 * of FITS cfiles.
016 * @version $Revision: 1.1 $ $Date: 2002/05/03 11:52:24 $
017 * @author P.Grosbol, DMD/ESO, <pgrosbol@eso.org>
018 */
019 public class SaveFits{
020 /** Static method for testing the FITS class library.
021 *
022 * @param argv array of arguments i.e. options of FITS files
023 */
024 public static void main(String[] argv) {
025 System.out.println("Start SaveFits");
026 if (argv.length != 1) {
027 System.out.println("Error: must have one argument, input file");
028 System.exit(1);
029 }
030
031 FitsFile file = null;
032 try {
033 file = new FitsFile(argv[0]);
034 } catch (FitsException e) {
035 System.out.println("Error: is not a FITS file >" + argv[0] + "<");
036 System.exit(-1);
037 } catch (IOException e) {
038 System.out.println("Error: cannot open file >" + argv[0] + "<");
039 System.exit(-1);
040 }
041
042 int noHDU = file.getNoHDUnits();
043 System.out.println("FITS file has " + noHDU + " HDUnits");
044
045 FitsHDUnit hdu = file.getHDUnit(0);
046 FitsHeader hdr = hdu.getHeader();
047 FitsKeyword kw = hdr.getKeyword("DATE");
048 kw.setValue(new Date());
049 kw.setComment("Date of writting YYYY-MM-DD");
050 kw = new FitsKeyword("ANY", 124870921578.123,"Just a number");
051 hdr.addKeyword(kw);
052 kw = new FitsKeyword("ESO.DET.ID", "ID#123443" ,"The Detector ID");
053 hdr.addKeyword(kw);
054 kw = new FitsKeyword("ATOOLONGKW", 122445,"And an interger");
055 hdr.addKeyword(kw);
056 kw = new FitsKeyword("ISITTRUE", false,"let's try a boolesn");
057 hdr.addKeyword(kw);
058 kw = new FitsKeyword(" ","");
059 hdr.addKeyword(kw);
060 kw = new FitsKeyword("NewDate", new Date(), "Try a Date");
061 hdr.addKeyword(kw);
062 kw = new FitsKeyword("COMMENT","a small real");
063 hdr.addKeyword(kw);
064 kw = new FitsKeyword("AN-amall", 0.000000000000012234,"a small real");
065 hdr.addKeyword(kw);
066 kw = new FitsKeyword(" ","");
067 hdr.addKeyword(kw);
068
069 try {
070 file.saveFile();
071 } catch (FitsException e) {
072 System.out.println("Error: FITS problem in writing >"
073 + argv[0] + "<");
074 System.exit(-1);
075 } catch (IOException e) {
076 System.out.println("Error: cannot write file >" + argv[0] + "<");
077 System.exit(-1);
078 }
079
080 System.exit(0);
081 }
082 }