/* * camtools.h * * Copyright 2015 Edward V. Emelianov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #pragma once #ifndef __CAMTOOLS_H__ #define __CAMTOOLS_H__ #define TRYFITS(f, ...) \ do{if(!test_headers){ int status = 0; \ f(__VA_ARGS__, &status); \ if (status){ \ fits_report_error(stderr, status); \ return -1;} \ }}while(0) #define WRITEKEY(...) \ do{ if(test_headers){ \ print_fits_header(__VA_ARGS__); \ }else{ int status = 0; \ fits_write_key(__VA_ARGS__, &status); \ if(status) fits_report_error(stderr, status);\ }}while(0) void print_fits_header(fitsfile *fptr, int datatype, char *keyname, void *value, char *comment); extern char *camera, *sensor, viewfield[]; extern double pixX, pixY, t_ext, t_int; extern unsigned short max, min; extern double avr, std; extern time_t expStartsAt; void AutoadjustFanSpeed(bool onoff); double printCoolerStat(double *t_ext); void print_stat(unsigned short *img, long size, FILE* f); int writefits(char *filename, int width, int height, void *data); #ifdef USEPNG int writepng(char *filename, int width, int height, void *data); #endif /* USEPNG */ #ifdef USERAW int writeraw(char *filename, int width, int height, void *data); #endif // USERAW #ifdef IMAGEVIEW #include #include #include #include // functions for converting grayscale value into colour typedef enum{ COLORFN_LINEAR, // linear COLORFN_LOG, // ln COLORFN_SQRT // sqrt } colorfn_type; void change_colorfun(colorfn_type f); void convert_grayimage(unsigned short *src, GLubyte *dst, int w, int h); #endif // IMAGEVIEW #endif // __CAMTOOLS_H__