more doc...

master
tth 2 years ago
parent d4d2dcc7f5
commit 7eee0bd4d9
  1. 60
      doc/the_floatimg_hack.tex

@ -120,11 +120,12 @@ quelques milliers d'images standard à 256 niveaux, sans trop avoir
\subsection{Dynamique}\index{dynamique}
Dynamique, précision et macheps.
Dynamique, précision et \textsl{macheps} ?
\subsection{Pixel négatif ?}
Il est très difficle d'imaginer une lumière négative.
Il est très difficle d'imaginer une lumière négative. Sauf peut-être
si nous songeons à des coefficients d'absorption ?
% -------------------------------------------------------------------
@ -370,6 +371,7 @@ C'est bien beau d'être enfin résident en mémoire centrale, mais
pouvoir aussi exister à long terme en étant stocké dans la matrice
est tout aussi pertinent. Il y a deux opérations qui supportent le
reste des transits ram/ps.
Le format des fichiers est décrit page \pageref{formatfimg}.
\begin{lstlisting}
int fimg_dump_to_file(FloatImg *fimg, char *fname, int notused);
@ -403,7 +405,7 @@ foo = fimg_create_from_dump("lena.fimg", &head);
Si la valeur retournée est différente de 0, c'est que quelque
chose s'est mal passé.
Certains messages sont parfois parfois explicites.
Certains messages sont parfois explicites.
% _________
@ -430,6 +432,9 @@ permet de lire les valeurs des trois canaux d'un pixel donné.
Là aussi, il n'y a aucun contrôle sur la validité des valeurs
$x$ et $y$ de la demande.
Quand au canal \textsl{alpha}\index{alpha}, il est pour le moment
superbement ignoré.
% ----------------------------------
\subsection{Contraste}\index{contraste}\label{contraste}
@ -463,7 +468,6 @@ Si vous souhaitez rajouter votre propre méthode de modification
de contraste, il y a quelques explication en page \pageref{exemplefunc}.
\begin{figure}[h]
\input{cos010.tex} % XXX XXX XXX
\caption{Correcteur cos010}
@ -500,7 +504,7 @@ qui permet un contrôle bien plus fin des dérives.
La prochaine étape consistera à trouver une façon de faire
une égalisation\index{égalisation} par histogramme\index{histogramme}
qui respecte, dans toute sa futilité, le concept\index{concept}
de pixel flottant.
de pixel flottant. \textsl{Et c'est pas gagné...}
% ----------------------------------
@ -537,6 +541,25 @@ ne semblent pas d'accord.} d'une image RGB.
L'image de destination peut être soit vierge, soit pré-allouée
aux bonnes dimensions (échange W et H).
% ----------------------------------
\subsection{Format du fichier \textsc{fimg}}\index{format}\label{formatfimg}
D'un design très empirique, c'est certainement à revoir pour l'avenir.
Tout d'abord pour normaliser l'endianess et le packing\dots
\begin{lstlisting}
typedef struct {
char magic[8];
int w, h, t;
} FimgFileHead;
\end{lstlisting}
\dots Mais aussi pour faciliter l'ajout de métadonnées, telles que
la valeur maximale, la date de création, une longueur d'onde,
et bien plus encore.
% ----------------------------------
\subsection{Exportation \& Importation}\index{export}\label{export}
@ -603,7 +626,7 @@ To be done\index{XXX}
\subsubsection{Vers FITS}\index{FITS}
Ce format est essentiellement utilisé pour stocker des images
d'astronomie.
d'astronomie, donc il peut aussi servir pour des images floues.
To be done\index{XXX}
@ -622,21 +645,24 @@ int parse_double(char *str, double *dptr)
La fonction \texttt{int format\_from\_extension(char *fname)} examine un
nom defichier tel que \texttt{lena.xxx}, et retourne, si la partie
\texttt{xxx} un éventuel nombre positif, dont les valeurs sont dans floatimg.h
nom de fichier tel que \texttt{lena.xxx}, et retourne, si la partie
\texttt{xxx} est connue, un éventuel nombre positif, dont les valeurs sont
déclarées dans floatimg.h
le valeureux.
Les extensions actuellement connues sont : fimg, png, pnm et tiff.
Les extensions actuellement connues sont : fimg, png, pnm, fits et tiff.
To be continued\index{XXX}\dots
\subsection{Effets}\index{sfx}
Quelques routines qui servent futilement à \textsl{brotcher} les images.
Quelques routines qui servent futilement à \textsl{brotcher} les images
en tripotant les flux visuels chromatiques.
\begin{lstlisting}
int fimg_killcolors_a(FloatImg *fimg, float fval);
int fimg_killcolors_b(FloatImg *fimg, float fval);
int fimg_colors_mixer_a(FloatImg *fimg, float fval);
\end{lstlisting}
@ -875,10 +901,11 @@ de qualitay.
% -------------------------
\subsection{fimg2png, fimg2pnm, fimg2tiff}
\subsection{fimg2png, fimg2pnm, fimg2tiff, fimg2fits}
\index{fimg2png}\label{fimg2png}
\index{fimg2pnm}\label{fimg2pnm}
\index{fimg2tiff}\label{fimg2tiff}
\index{fimg2fits}\label{fimg2fits}
Quelques petits proggies pour exporter notre format\index{.fimg} secret
vers des choses plus directement utilisables. À condition que le
@ -888,7 +915,7 @@ D'un autre coté, écrire un greffon d'import/export pour
Gimp\index{Gimp} ou ImageMagick\index{ImageMagick} ou Krita\index{krita}
ne devrait pas être trop difficile. Des volontaires ?
\textsl{D'ailleurs, pourquoi $n$ logiciels indépendants alors q'un
\textsl{D'ailleurs, pourquoi $N$ logiciels indépendants alors q'un
seul devrait être nécessaire ?}
\subsection{fimg2gray}\index{fimg2gray}\label{fimg2gray}
@ -915,6 +942,7 @@ choses seront acquises.
\item Compléter les traitements mathémathiques (eg le gamma\index{gamma}).
\item Formaliser les codes d'erreur. \textbf{Urgent}.
\item Faire une passe complète de Valgrind\index{valgrind}.
\item Integrer la fonderie et l'interpolator.
\end{itemize}
% -------------------------------------------------------------------
@ -958,7 +986,9 @@ encore un peu rudimentaire
vers le programme de capture d'image décrit page \pageref{grabvidseq}.
Il utilise deux fichiers dans le répertoire de travail~:
\textit{reglages} et \textit{compteur}. Le premier est, en fait,
un bout de shell affectant quelques variables, ou plutôt, les surchargant.
un bout de shell affectant quelques variables, ou plutôt, les surchargeant.
Voici un exemple de réglage~:
\begin{lstlisting}
OPTIONS="${OPTIONS} -v -c pow2 "
@ -1100,7 +1130,8 @@ Donc, maintenant, nous savons un peu tripoter ces images flottantes.
Et nous devons nous poser une question fondamentale\footnote{primitive ?}
sur la provenance de ces données prétendant être des images.
En fait, notre désir secret est la découverte des choses cachées du
En fait, notre désir secret (enfin, surtout le mien)
est la découverte des choses cachées du
monde qui nous entoure. Nous voulons des images du \textbf{réel} et
pour cela, l'outil le plus commun, le plus répandu,
est la webcam\index{webcam}. L'universelle webcam. Et l'incontournable
@ -1124,6 +1155,7 @@ options :
-O ./ set Output dir
-o bla set output filename
-p NN.N delay between frames
-r 90 mode portrait
-s WxH size of capture
-u try upscaling...
-v increase verbosity

Loading…
Cancel
Save