00001 /* 00002 * Copyright (c) 2007. The BATI team. All right reserved. 00003 * 00004 * This file is part of BATI library. 00005 * 00006 * BATI library is free software: you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation, either version 3 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * BATI library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with BATI library. If not, see <http://www.gnu.org/licenses/>. 00018 */ 00021 /* *****************************image.h**********************************/ 00022 /* */ 00023 /* Types des pixels, des images et autres structures de base de ima2D.h */ 00024 /* */ 00025 /* Derniere modif : L. VALET, 10/12/99 */ 00026 /* **********************************************************************/ 00027 00028 /*pas de code avant cette ligne*/ 00029 #ifndef __image 00030 #define __image 00031 00032 #include <stdio.h> 00033 00034 /* image entiers 8 bits non-signees */ 00035 00037 typedef unsigned char pixu1; 00038 00042 typedef struct { 00043 pixu1 **p; 00044 int nc; 00045 int nr; 00046 char nom[200]; 00047 pixu1 *lutr; 00048 pixu1 *lutv; 00049 pixu1 *lutb; 00050 } imau1; 00051 00052 00054 typedef struct { 00055 pixu1 **r, **v, **b; 00056 int nc; 00057 int nr; 00058 char nom[200]; 00059 }imarvb; 00060 00061 00063 typedef unsigned short pixu2; 00064 00065 00067 typedef struct { 00068 pixu2 **p; 00069 int nc; 00070 int nr; 00071 char nom[200]; 00072 }imau2; 00073 00074 00076 typedef short pixs2; 00077 00079 typedef struct { 00080 pixs2 **p; 00081 int nc; 00082 int nr; 00083 char nom[200]; 00084 }imas2; 00085 00086 00088 typedef unsigned int pixu4; 00089 00091 typedef struct { 00092 pixu4 **p; 00093 int nc; 00094 int nr; 00095 char nom[200]; 00096 }imau4; 00097 00098 00100 typedef int pixs4; 00101 00103 typedef struct { 00104 pixs4 **p; 00105 int nc; 00106 int nr; 00107 char nom[200]; 00108 }imas4; 00109 00110 00112 typedef float pixfl; 00113 00115 typedef struct { 00116 pixfl **p; 00117 int nc; 00118 int nr; 00119 char nom[200]; 00120 }imafl; 00121 00122 00124 typedef double pixdb; 00125 00127 typedef struct { 00128 pixdb **p; 00129 int nc; 00130 int nr; 00131 char nom[200]; 00132 }imadb; 00133 00134 00136 typedef struct { 00137 short re; 00138 short im; 00139 }pixcx4; 00140 00141 00143 typedef struct { 00144 pixcx4 **p; 00145 int nc; 00146 int nr; 00147 char nom[200]; 00148 }imacx4; 00149 00150 00152 typedef struct { 00153 float re; 00154 float im; 00155 }pixcx8; 00156 00157 00159 typedef struct { 00160 pixcx8 **p; 00161 int nc; 00162 int nr; 00163 char nom[200]; 00164 }imacx8; 00165 00166 00168 typedef struct { 00169 double re; 00170 double im; 00171 }pixcx16; 00172 00173 00175 typedef struct { 00176 pixcx16 **p; 00177 int nc; 00178 int nr; 00179 char nom[200]; 00180 }imacx16; 00181 00182 00183 00185 struct parametre{ 00186 char qst[200]; 00187 char rep[200]; 00188 struct parametre *next; 00189 }; 00190 00192 typedef struct parametre param; 00193 00194 00195 /*pas de code apres cette ligne*/ 00196 #endif