Index: trunk/psLib/src/fits/psFits.c
===================================================================
--- trunk/psLib/src/fits/psFits.c	(revision 14876)
+++ trunk/psLib/src/fits/psFits.c	(revision 14877)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.69 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-09-18 02:33:48 $
+ *  @version $Revision: 1.70 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-09-18 02:56:36 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -182,4 +182,30 @@
 }
 
+static void psFitsOptionsFree(psFitsOptions *opt)
+{
+    psFree(opt->tilesize);
+}
+
+psFitsOptions* psFitsOptionsAlloc(
+    psFitsCompressionType type,         ///< type of compression
+    psVector *tilesize,                 ///< vector defining compression tile size
+    int noisebits,                      ///< noise bits
+    int scale,                          ///< hcompress scale
+    int smooth                          ///< hcompress smothing
+)
+{
+    psFitsOptions *opt = psAlloc(sizeof(psFitsOptions));
+
+    opt->type = type;
+    opt->tilesize = tilesize;
+    opt->noisebits = noisebits;
+    opt->scale = scale;
+    opt->smooth = smooth;
+
+    psMemSetDeallocator(opt, (psFreeFunc) psFitsOptionsFree);
+
+    return opt;
+}
+
 bool psMemCheckFits(psPtr ptr)
 {
@@ -656,4 +682,19 @@
 
 
+bool psFitsSetOptions(
+    psFits* fits,                       ///< psFits object to close
+    psFitsOptions *opt                  ///< options object
+)
+{
+    return psFitsSetCompression(
+            fits,
+            opt->type,
+            opt->tilesize,
+            opt->noisebits,
+            opt->scale,
+            opt->smooth);
+}
+
+
 psDataType p_psFitsTypeFromCfitsio(int datatype)
 {
