summaryrefslogtreecommitdiffstats
path: root/tksao/fitsy++/hist.h
diff options
context:
space:
mode:
Diffstat (limited to 'tksao/fitsy++/hist.h')
-rw-r--r--tksao/fitsy++/hist.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/tksao/fitsy++/hist.h b/tksao/fitsy++/hist.h
new file mode 100644
index 0000000..abfc498
--- /dev/null
+++ b/tksao/fitsy++/hist.h
@@ -0,0 +1,59 @@
+// Copyright (C) 1999-2016
+// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
+// For conditions of distribution and use, see copyright notice in "copyright"
+
+#ifndef __fitshist_h__
+#define __fitshist_h__
+
+#include "vector.h"
+#include "file.h"
+
+class FitsHist : public FitsFile {
+ public:
+ enum Function {SUM, AVERAGE};
+
+ private:
+ int width_;
+ int height_;
+ int depth_;
+ size_t size_;
+
+ FitsColumn* xcol_;
+ FitsColumn* ycol_;
+ FitsColumn* zcol_;
+
+ void* fitsy_;
+ void* filter_;
+
+ int initHeader(FitsFile*);
+ int screenKeyword(const char*);
+ void initLTMV(Matrix&);
+ void initWCS(FitsFile*, Matrix&, Vector);
+ void mapWCSMatrix(FitsHead*, char* w, const char* out, const char* in,
+ Vector);
+ void mapWCSReal(FitsHead* head, const char* out, const char* in);
+ void mapWCSReal(FitsHead* head, char* w, const char* out, const char* in);
+ void mapWCSReal(FitsHead*, char* w,
+ const char* out, const char* prim, const char* alt,
+ Matrix);
+ void mapWCSString(FitsHead*, char* w, const char* out, const char* prim);
+ void mapWCSString(FitsHead*, char* w,
+ const char* out, const char* prim, const char* alt);
+ void mapWCSVector(FitsHead*, char* w, const char* out, const char* in);
+ void initFilter(FitsFile*);
+ void deleteFilter();
+ void bin(FitsFile*, Matrix&, Function, Vector);
+ void swap();
+
+ public:
+ FitsHist(FitsFile* src, int width, int height, int depth,
+ Matrix& m, Function func, Vector block);
+ ~FitsHist();
+};
+
+class FitsHistNext : public FitsFile {
+public:
+ FitsHistNext(FitsFile* prev);
+};
+
+#endif