forked from tTh/FloatImg
add a crude FITS exporter
This commit is contained in:
parent
e81be7b0ca
commit
327cadd03a
1
.gitignore
vendored
1
.gitignore
vendored
@ -52,6 +52,7 @@ v4l2/nc-camcontrol
|
|||||||
tools/fimg2png
|
tools/fimg2png
|
||||||
tools/fimg2pnm
|
tools/fimg2pnm
|
||||||
tools/fimg2tiff
|
tools/fimg2tiff
|
||||||
|
tools/fimg2fits
|
||||||
tools/fimg2text
|
tools/fimg2text
|
||||||
tools/fimgstats
|
tools/fimgstats
|
||||||
tools/mkfimg
|
tools/mkfimg
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* http://la.buvette.org/photos/cumul
|
* http://la.buvette.org/photos/cumul
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define FIMG_VERSION 130
|
#define FIMG_VERSION 131
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* in memory descriptor
|
* in memory descriptor
|
||||||
@ -174,6 +174,7 @@ int fimg_create_from_dump(char *fname, FloatImg *head);
|
|||||||
int fimg_save_R_as_fits(FloatImg *src, char *outname, int flags);
|
int fimg_save_R_as_fits(FloatImg *src, char *outname, int flags);
|
||||||
int fimg_save_G_as_fits(FloatImg *src, char *outname, int flags);
|
int fimg_save_G_as_fits(FloatImg *src, char *outname, int flags);
|
||||||
int fimg_save_B_as_fits(FloatImg *src, char *outname, int flags);
|
int fimg_save_B_as_fits(FloatImg *src, char *outname, int flags);
|
||||||
|
int fimg_save_plane_as_fits(FloatImg *src, char *oname, char plane, int flags);
|
||||||
|
|
||||||
int fimg_write_as_tiff(FloatImg *src, char *fname, int flags);
|
int fimg_write_as_tiff(FloatImg *src, char *fname, int flags);
|
||||||
int fimg_save_as_exr(FloatImg *src, char *outname, int flags);
|
int fimg_save_as_exr(FloatImg *src, char *outname, int flags);
|
||||||
|
@ -9,7 +9,7 @@ DEPS = ../floatimg.h ../libfloatimg.a Makefile
|
|||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
all: fimg2pnm mkfimg png2fimg fimgstats fimg2png \
|
all: fimg2pnm mkfimg png2fimg fimgstats fimg2png \
|
||||||
fimg2tiff fimg2text \
|
fimg2tiff fimg2text fimg2fits \
|
||||||
addpnm2fimg cumulfimgs fimgops fimgfx
|
addpnm2fimg cumulfimgs fimgops fimgfx
|
||||||
|
|
||||||
fimgstats: fimgstats.c $(DEPS)
|
fimgstats: fimgstats.c $(DEPS)
|
||||||
@ -30,6 +30,9 @@ fimgfx: fimgfx.c $(DEPS)
|
|||||||
fimg2pnm: fimg2pnm.c $(DEPS)
|
fimg2pnm: fimg2pnm.c $(DEPS)
|
||||||
gcc $(COPT) $< ../libfloatimg.a -o $@
|
gcc $(COPT) $< ../libfloatimg.a -o $@
|
||||||
|
|
||||||
|
fimg2fits: fimg2fits.c $(DEPS)
|
||||||
|
gcc $(COPT) $< ../libfloatimg.a -lcfitsio -o $@
|
||||||
|
|
||||||
fimg2png: fimg2png.c $(DEPS)
|
fimg2png: fimg2png.c $(DEPS)
|
||||||
gcc $(COPT) $< ../libfloatimg.a -lpnglite -lz -o $@
|
gcc $(COPT) $< ../libfloatimg.a -lpnglite -lz -o $@
|
||||||
|
|
||||||
|
66
tools/fimg2fits.c
Normal file
66
tools/fimg2fits.c
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
/*
|
||||||
|
* exporting a floatimg to a FITS file
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
int verbosity;
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------- */
|
||||||
|
int export_fimg_plane_as_fits(char *infile, char *outfile, char plane)
|
||||||
|
{
|
||||||
|
FloatImg fimg;
|
||||||
|
int foo;
|
||||||
|
|
||||||
|
foo = fimg_create_from_dump(infile, &fimg);
|
||||||
|
if (foo) {
|
||||||
|
fprintf(stderr, "%s: create fimg from '%s' -> %d\n", __func__,
|
||||||
|
infile, foo);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
foo = fimg_save_plane_as_fits(&fimg, outfile, plane, 0);
|
||||||
|
if (foo) {
|
||||||
|
fprintf(stderr, "%s: err %d on fits export\n", __func__, foo);
|
||||||
|
return foo;
|
||||||
|
}
|
||||||
|
|
||||||
|
fimg_destroy(&fimg);
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
/* ----------------------------------------------------------------- */
|
||||||
|
static void help(int k)
|
||||||
|
{
|
||||||
|
puts("export to FITS format");
|
||||||
|
puts("\t-p select colorplane : R, G, B");
|
||||||
|
}
|
||||||
|
/* ----------------------------------------------------------------- */
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int foo, opt;
|
||||||
|
int plane = '?';
|
||||||
|
|
||||||
|
while ((opt = getopt(argc, argv, "p:hv")) != -1) {
|
||||||
|
switch(opt) {
|
||||||
|
case 'p': plane = optarg[0]; break;
|
||||||
|
case 'v': verbosity++; break;
|
||||||
|
case 'h': help(1); exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (2 != argc-optind) {
|
||||||
|
fprintf(stderr, "error: %s need two filenames\n", argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
export_fimg_plane_as_fits(argv[optind], argv[optind+1], plane);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
/* ----------------------------------------------------------------- */
|
Loading…
Reference in New Issue
Block a user