From 11e87efd6718177b3eef0d6e46aabf6e37a86679 Mon Sep 17 00:00:00 2001 From: tTh Date: Wed, 1 May 2024 21:38:19 +0200 Subject: [PATCH] cosmetic --- funcs/Makefile | 8 ++++++-- funcs/README.md | 48 ++++++++++++++++++++++++++++----------------- funcs/fimg-libpnm.c | 17 ++++++++-------- funcs/sfx0.c | 2 +- funcs/sfx2.c | 5 ++++- funcs/sfx3.c | 4 ++-- funcs/tpnm.c | 4 +++- 7 files changed, 55 insertions(+), 33 deletions(-) diff --git a/funcs/Makefile b/funcs/Makefile index 4c376d0..8a7fc15 100644 --- a/funcs/Makefile +++ b/funcs/Makefile @@ -19,6 +19,9 @@ OBJS = fimg-png.o fimg-tiff.o misc-plots.o filtrage.o utils.o \ #--------------------------------------------------------------- +tests.o: tests.c tests.h $(DEPS) + gcc $(COPT) -I/usr/include/netpbm -c $< + t: t.c $(DEPS) ../libfloatimg.a tests.o gcc $(COPT) $< \ tests.o \ @@ -28,8 +31,9 @@ t: t.c $(DEPS) ../libfloatimg.a tests.o -ltiff \ -lz -lm -o $@ -tests.o: tests.c tests.h $(DEPS) - gcc $(COPT) -I/usr/include/netpbm -c $< +tpnm: tpnm.c Makefile fimg-libpnm.o + gcc $(COPT) -I/usr/include/netpbm \ + fimg-libpnm.o -lnetpbm $< -o $@ #--------------------------------------------------------------- # upper-level functions diff --git a/funcs/README.md b/funcs/README.md index cc7a467..0c9b3eb 100644 --- a/funcs/README.md +++ b/funcs/README.md @@ -2,34 +2,42 @@ Plein de fonctions qu'il serait bon de documenter :) -## PNG - -__Attention__ : la bibliothèque `pnglite`actuellement utilisée pour lire -les fichiers PNG n'accepte que **certains** types de fichiers. -Et en particulier, elle brotche sur ceux produits par ImageMagick ! - -## FITS - -Un Format de fichier utilisé en astronomie. - -https://heasarc.gsfc.nasa.gov/docs/software/fitsio/c/c_user/node1.html - -## DICOM - -https://en.wikipedia.org/wiki/DICOM et ça semble bien compliqué :( ## Contours Détecter des contours est une activité respectable. Mais difficile. +Une recherche dans la littérature s'impose. ## Exporter -Une méta-fonction qui va sauvegarder (dans la mesure de ses conséquences) -une image en fonction de l'extension du nom de fichier. +`fimg_exporter` est une méta-fonction qui va sauvegarder (dans la mesure de ses conséquences) +une image en fonction de l'extension du nom de fichier fourni. + +### PNG + +__Attention__ : la bibliothèque `pnglite` actuellement utilisée pour lire +les fichiers PNG n'accepte que certains types de fichiers. +Et en particulier, elle brotche sur ceux produits par ImageMagick ! + +### FITS + +Ce format de fichier est utilisé en astronomie. + +https://heasarc.gsfc.nasa.gov/docs/software/fitsio/c/c_user/node1.html + +### DICOM + +https://en.wikipedia.org/wiki/DICOM et ça semble bien compliqué, +donc ça reste pour le moment au stade de vague projet :( ## Sfx -Effets spéciaux divers. +Effets spéciaux divers. Ils sont répartis dans plusieurs fichiers +(`sfx[0-4].c`) sans raison de classement apparente. + +Certains peuvent être directement utilisés +avec l'outil [../tools/fimgfx.c](fimgfx). +Leur paramétrage est trop sommaire. La fonction `fimg_pixelize_h_rnd` est issue d'une idée qui m'est venue dans la roulotte de TerreBlanque. Elle a besoin de recherches sur la @@ -38,3 +46,7 @@ dynamique temporelle, et d'une FSM à trois états. ## Dithering Work in progress... + +Une difficulté dans ce domaine, c'est la *floattitude* des pixels, +sur laquelle il est difficile d'appliquer des operations binaires, +comme le XOR. diff --git a/funcs/fimg-libpnm.c b/funcs/fimg-libpnm.c index 881f6b8..06c2d0f 100644 --- a/funcs/fimg-libpnm.c +++ b/funcs/fimg-libpnm.c @@ -16,14 +16,14 @@ extern int verbosity; /* --------------------------------------------------------------------- */ static void print_struct_pam(struct pam *ppam, char *text) { -printf(" text %s\n", text); -printf(" size %d\n", ppam->size); +printf("\ttext %s\n", text); +printf("\tsize %d\n", ppam->size); -printf(" format %d\n", ppam->format); -printf(" plainformat %d\n", ppam->plainformat); -printf(" width & height %d %d\n", ppam->width, ppam->height); -printf(" depth %d\n", ppam->depth); -printf(" maxval %lu\n", ppam->maxval); +printf("\tformat %d 0x%04x\n", ppam->format, ppam->format); +printf("\tplainformat %d\n", ppam->plainformat); +printf("\twidth & height %d %d\n", ppam->width, ppam->height); +printf("\tdepth %d\n", ppam->depth); +printf("\tmaxval %lu\n", ppam->maxval); } /* --------------------------------------------------------------------- */ @@ -36,13 +36,14 @@ FILE *fp; fprintf(stderr, ">>> %s ( '%s' )\n", __func__, fname); #endif +printf(" --- infos for '%s' ------------\n", fname); + if (NULL==(fp=fopen(fname, "r"))) { perror(fname); exit(1); } pnm_readpaminit(fp, &inpam, sizeof(inpam)); - print_struct_pam(&inpam, fname); fclose(fp); diff --git a/funcs/sfx0.c b/funcs/sfx0.c index bf96c79..0bc95ec 100644 --- a/funcs/sfx0.c +++ b/funcs/sfx0.c @@ -36,7 +36,7 @@ return 0; } /* --------------------------------------------------------------------- */ /* - * parameter fval is not used, why ? + * parameter fval is used for what ? */ int fimg_killcolors_b(FloatImg *fimg, float fval) { diff --git a/funcs/sfx2.c b/funcs/sfx2.c index cba0234..7ea8855 100644 --- a/funcs/sfx2.c +++ b/funcs/sfx2.c @@ -103,4 +103,7 @@ for (foo=0; foo>> %s ( %p %p %f 0x%04x )\n", __func__, #endif if (notused) { - fprintf(stderr, "notused was %d, must be 0 in %s\n", - notused, __func__); + fprintf(stderr, "%s: notused was %d, must be 0\n", + __func__, notused); } halfval = fimg_get_maxvalue(src) / 2.0; diff --git a/funcs/tpnm.c b/funcs/tpnm.c index 0f90ab9..3897c2a 100644 --- a/funcs/tpnm.c +++ b/funcs/tpnm.c @@ -1,10 +1,12 @@ /* + * testbed for using the Netpbm library */ #include #include #include -#include + +#include /* Portable Any Map */ #include "../floatimg.h"