central ray is plotted as well now
[woropt.git] / vol / package.lisp
blobb3230903a8885942d9169d5560b5e52fc91ec6c2
1 (declaim (optimize (speed 2) (debug 3) (safety 3)))
2 #+nil #.(progn (require :alexandria)
3 (require :vector))
5 (defpackage :vol
6 (:use :cl :sb-alien :sb-c-call :vector)
7 (:export
9 #:read-pgm
10 #:write-pgm
11 #:histogram
12 #:read-stack
13 #:linear-regression
14 #:clamp
16 #:do-region
17 #:with-slice
19 #:save-stack-ub8
22 #:resample-half
23 #:cross-section-xz
25 #:count-non-zero-ub8
27 #:bbox
28 #:make-bbox
29 #:bbox-start
30 #:bbox-end
32 #:mean
34 #:with-arrays
36 #:draw-disk
37 #:draw-unit-intensity-disk-precise
38 #:draw-unit-energy-disk-precise
39 #:draw-sphere-ub8
40 #:draw-oval-ub8
42 #:format-symbol
43 #:ift
44 #:interpolate
45 #:convert
47 #:CONVOLVE-NOCROP-2-CSF
48 #:CONVOLVE-NOCROP-2-CDF
49 #:CONVOLVE-NOCROP-3-CSF
50 #:CONVOLVE-NOCROP-3-CDF
51 #:CONVOLVE-NOCROP
52 #:CONVOLVE-CIRC-2-CSF
53 #:CONVOLVE-CIRC-2-CDF
54 #:CONVOLVE-CIRC-3-CSF
55 #:CONVOLVE-CIRC-3-CDF
56 #:CONVOLVE-CIRC
57 #:DRAW-OVAL-CDF
58 #:DRAW-OVAL-CSF
59 #:DRAW-OVAL-DF
60 #:DRAW-OVAL-SF
61 #:DRAW-OVAL-UB8
62 #:DRAW-SPHERE-CDF
63 #:DRAW-SPHERE-CSF
64 #:DRAW-SPHERE-DF
65 #:DRAW-SPHERE-SF
66 #:DRAW-SPHERE-UB8
67 #:DRAW-UNIT-ENERGY-DISK-PRECISE-CDF
68 #:DRAW-UNIT-ENERGY-DISK-PRECISE-CSF
69 #:DRAW-UNIFORM-DISK-PRECISE-CDF
70 #:DRAW-UNIFORM-DISK-PRECISE-CSF
71 #:DRAW-DISK-UB8
72 #:DRAW-DISK-SF
73 #:DRAW-DISK-DF
74 #:DRAW-DISK-CSF
75 #:DRAW-DISK-CDF
76 #:FT-1-CSF
77 #:FT-1-CDF
78 #:FT-2-CSF
79 #:FT-2-CDF
80 #:FT-3-CSF
81 #:FT-3-CDF
82 #:FT
83 #:FFTSHIFT-1-CDF
84 #:FFTSHIFT-1-CSF
85 #:FFTSHIFT-2-CDF
86 #:FFTSHIFT-2-CSF
87 #:FFTSHIFT-3-CDF
88 #:FFTSHIFT-3-CSF
89 #:FFTSHIFT
90 #:FIND-BBOX-2-UB8
91 #:FIND-BBOX-2-SF
92 #:FIND-BBOX-2-DF
93 #:FIND-BBOX-2-CSF
94 #:FIND-BBOX-2-CDF
95 #:FIND-BBOX-3-UB8
96 #:FIND-BBOX-3-SF
97 #:FIND-BBOX-3-DF
98 #:FIND-BBOX-3-CSF
99 #:FIND-BBOX-3-CDF
100 #:FIND-BBOX
101 #:REPLACE-BBOX-2-UB8
102 #:REPLACE-BBOX-2-SF
103 #:REPLACE-BBOX-2-DF
104 #:REPLACE-BBOX-2-CSF
105 #:REPLACE-BBOX-2-CDF
106 #:REPLACE-BBOX-3-UB8
107 #:REPLACE-BBOX-3-SF
108 #:REPLACE-BBOX-3-DF
109 #:REPLACE-BBOX-3-CSF
110 #:REPLACE-BBOX-3-CDF
111 #:REPLACE-BBOX
112 #:EXTRACT-BBOX-2-UB8
113 #:EXTRACT-BBOX-2-SF
114 #:EXTRACT-BBOX-2-DF
115 #:EXTRACT-BBOX-2-CSF
116 #:EXTRACT-BBOX-2-CDF
117 #:EXTRACT-BBOX-3-UB8
118 #:EXTRACT-BBOX-3-SF
119 #:EXTRACT-BBOX-3-DF
120 #:EXTRACT-BBOX-3-CSF
121 #:EXTRACT-BBOX-3-CDF
122 #:EXTRACT-BBOX
123 #:MEAN-1-UB8
124 #:MEAN-1-SF
125 #:MEAN-1-DF
126 #:MEAN-1-CSF
127 #:MEAN-1-CDF
128 #:MEAN-2-UB8
129 #:MEAN-2-SF
130 #:MEAN-2-DF
131 #:MEAN-2-CSF
132 #:MEAN-2-CDF
133 #:MEAN-3-UB8
134 #:MEAN-3-SF
135 #:MEAN-3-DF
136 #:MEAN-3-CSF
137 #:MEAN-3-CDF
138 #:MEAN
139 #:.+-1-UB8
140 #:.--1-UB8
141 #:.*-1-UB8
142 #:./-1-UB8
143 #:.+-1-SF
144 #:.--1-SF
145 #:.*-1-SF
146 #:./-1-SF
147 #:.+-1-DF
148 #:.--1-DF
149 #:.*-1-DF
150 #:./-1-DF
151 #:.+-1-CSF
152 #:.--1-CSF
153 #:.*-1-CSF
154 #:./-1-CSF
155 #:.+-1-CDF
156 #:.--1-CDF
157 #:.*-1-CDF
158 #:./-1-CDF
159 #:.+-2-UB8
160 #:.--2-UB8
161 #:.*-2-UB8
162 #:./-2-UB8
163 #:.+-2-SF
164 #:.--2-SF
165 #:.*-2-SF
166 #:./-2-SF
167 #:.+-2-DF
168 #:.--2-DF
169 #:.*-2-DF
170 #:./-2-DF
171 #:.+-2-CSF
172 #:.--2-CSF
173 #:.*-2-CSF
174 #:./-2-CSF
175 #:.+-2-CDF
176 #:.--2-CDF
177 #:.*-2-CDF
178 #:./-2-CDF
179 #:.+-3-UB8
180 #:.--3-UB8
181 #:.*-3-UB8
182 #:./-3-UB8
183 #:.+-3-SF
184 #:.--3-SF
185 #:.*-3-SF
186 #:./-3-SF
187 #:.+-3-DF
188 #:.--3-DF
189 #:.*-3-DF
190 #:./-3-DF
191 #:.+-3-CSF
192 #:.--3-CSF
193 #:.*-3-CSF
194 #:./-3-CSF
195 #:.+-3-CDF
196 #:.--3-CDF
197 #:.*-3-CDF
198 #:./-3-CDF
199 #:./
200 #:.*
201 #:.-
202 #:.+
203 #:CROSS-SECTION-XZ
204 #:DECIMATE-XY-CDF
205 #:DECIMATE-XY-CSF
206 #:DECIMATE-XY-DF
207 #:DECIMATE-XY-SF
208 #:DECIMATE-XY-UB8
209 #:CROSS-SECTION-XZ-CDF
210 #:CROSS-SECTION-XZ-CSF
211 #:CROSS-SECTION-XZ-DF
212 #:CROSS-SECTION-XZ-SF
213 #:CROSS-SECTION-XZ-UB8
214 #:RESAMPLE-1-SF
215 #:RESAMPLE-1-DF
216 #:RESAMPLE-1-CSF
217 #:RESAMPLE-1-CDF
218 #:RESAMPLE-2-SF
219 #:RESAMPLE-2-DF
220 #:RESAMPLE-2-CSF
221 #:RESAMPLE-2-CDF
222 #:RESAMPLE-3-SF
223 #:RESAMPLE-3-DF
224 #:RESAMPLE-3-CSF
225 #:RESAMPLE-3-CDF
226 #:RESAMPLE-HALF-1-UB8
227 #:RESAMPLE-HALF-1-SF
228 #:RESAMPLE-HALF-1-DF
229 #:RESAMPLE-HALF-1-CDF
230 #:RESAMPLE-HALF-1-CSF
231 #:RESAMPLE-HALF-2-UB8
232 #:RESAMPLE-HALF-2-SF
233 #:RESAMPLE-HALF-2-DF
234 #:RESAMPLE-HALF-2-CDF
235 #:RESAMPLE-HALF-2-CSF
236 #:RESAMPLE-HALF-3-UB8
237 #:RESAMPLE-HALF-3-SF
238 #:RESAMPLE-HALF-3-DF
239 #:RESAMPLE-HALF-3-CDF
240 #:RESAMPLE-HALF-3-CSF
241 #:INTERPOLATE-1-SF
242 #:INTERPOLATE-1-DF
243 #:INTERPOLATE-1-CSF
244 #:INTERPOLATE-1-CDF
245 #:INTERPOLATE-2-SF
246 #:INTERPOLATE-2-DF
247 #:INTERPOLATE-2-CSF
248 #:INTERPOLATE-2-CDF
249 #:INTERPOLATE-3-SF
250 #:INTERPOLATE-3-DF
251 #:INTERPOLATE-3-CSF
252 #:INTERPOLATE-3-CDF
253 #:NORMALIZE-1-UB8/UB8
254 #:NORMALIZE-1-UB8/SF
255 #:NORMALIZE-1-UB8/DF
256 #:NORMALIZE-1-SF/UB8
257 #:NORMALIZE-1-SF/SF
258 #:NORMALIZE-1-SF/DF
259 #:NORMALIZE-1-DF/UB8
260 #:NORMALIZE-1-DF/SF
261 #:NORMALIZE-1-DF/DF
262 #:NORMALIZE-2-UB8/UB8
263 #:NORMALIZE-2-UB8/SF
264 #:NORMALIZE-2-UB8/DF
265 #:NORMALIZE-2-SF/UB8
266 #:NORMALIZE-2-SF/SF
267 #:NORMALIZE-2-SF/DF
268 #:NORMALIZE-2-DF/UB8
269 #:NORMALIZE-2-DF/SF
270 #:NORMALIZE-2-DF/DF
271 #:NORMALIZE-3-UB8/UB8
272 #:NORMALIZE-3-UB8/SF
273 #:NORMALIZE-3-UB8/DF
274 #:NORMALIZE-3-SF/UB8
275 #:NORMALIZE-3-SF/SF
276 #:NORMALIZE-3-SF/DF
277 #:NORMALIZE-3-DF/UB8
278 #:NORMALIZE-3-DF/SF
279 #:NORMALIZE-3-DF/DF
280 #:NORMALIZE-1-CSF/UB8-REALPART
281 #:NORMALIZE-1-CSF/UB8-IMAGPART
282 #:NORMALIZE-1-CSF/UB8-PHASE
283 #:NORMALIZE-1-CSF/UB8-ABS
284 #:NORMALIZE-1-CSF/SF-REALPART
285 #:NORMALIZE-1-CSF/SF-IMAGPART
286 #:NORMALIZE-1-CSF/SF-PHASE
287 #:NORMALIZE-1-CSF/SF-ABS
288 #:NORMALIZE-1-CSF/DF-REALPART
289 #:NORMALIZE-1-CSF/DF-IMAGPART
290 #:NORMALIZE-1-CSF/DF-PHASE
291 #:NORMALIZE-1-CSF/DF-ABS
292 #:NORMALIZE-1-CDF/UB8-REALPART
293 #:NORMALIZE-1-CDF/UB8-IMAGPART
294 #:NORMALIZE-1-CDF/UB8-PHASE
295 #:NORMALIZE-1-CDF/UB8-ABS
296 #:NORMALIZE-1-CDF/SF-REALPART
297 #:NORMALIZE-1-CDF/SF-IMAGPART
298 #:NORMALIZE-1-CDF/SF-PHASE
299 #:NORMALIZE-1-CDF/SF-ABS
300 #:NORMALIZE-1-CDF/DF-REALPART
301 #:NORMALIZE-1-CDF/DF-IMAGPART
302 #:NORMALIZE-1-CDF/DF-PHASE
303 #:NORMALIZE-1-CDF/DF-ABS
304 #:NORMALIZE-2-CSF/UB8-REALPART
305 #:NORMALIZE-2-CSF/UB8-IMAGPART
306 #:NORMALIZE-2-CSF/UB8-PHASE
307 #:NORMALIZE-2-CSF/UB8-ABS
308 #:NORMALIZE-2-CSF/SF-REALPART
309 #:NORMALIZE-2-CSF/SF-IMAGPART
310 #:NORMALIZE-2-CSF/SF-PHASE
311 #:NORMALIZE-2-CSF/SF-ABS
312 #:NORMALIZE-2-CSF/DF-REALPART
313 #:NORMALIZE-2-CSF/DF-IMAGPART
314 #:NORMALIZE-2-CSF/DF-PHASE
315 #:NORMALIZE-2-CSF/DF-ABS
316 #:NORMALIZE-2-CDF/UB8-REALPART
317 #:NORMALIZE-2-CDF/UB8-IMAGPART
318 #:NORMALIZE-2-CDF/UB8-PHASE
319 #:NORMALIZE-2-CDF/UB8-ABS
320 #:NORMALIZE-2-CDF/SF-REALPART
321 #:NORMALIZE-2-CDF/SF-IMAGPART
322 #:NORMALIZE-2-CDF/SF-PHASE
323 #:NORMALIZE-2-CDF/SF-ABS
324 #:NORMALIZE-2-CDF/DF-REALPART
325 #:NORMALIZE-2-CDF/DF-IMAGPART
326 #:NORMALIZE-2-CDF/DF-PHASE
327 #:NORMALIZE-2-CDF/DF-ABS
328 #:NORMALIZE-3-CSF/UB8-REALPART
329 #:NORMALIZE-3-CSF/UB8-IMAGPART
330 #:NORMALIZE-3-CSF/UB8-PHASE
331 #:NORMALIZE-3-CSF/UB8-ABS
332 #:NORMALIZE-3-CSF/SF-REALPART
333 #:NORMALIZE-3-CSF/SF-IMAGPART
334 #:NORMALIZE-3-CSF/SF-PHASE
335 #:NORMALIZE-3-CSF/SF-ABS
336 #:NORMALIZE-3-CSF/DF-REALPART
337 #:NORMALIZE-3-CSF/DF-IMAGPART
338 #:NORMALIZE-3-CSF/DF-PHASE
339 #:NORMALIZE-3-CSF/DF-ABS
340 #:NORMALIZE-3-CDF/UB8-REALPART
341 #:NORMALIZE-3-CDF/UB8-IMAGPART
342 #:NORMALIZE-3-CDF/UB8-PHASE
343 #:NORMALIZE-3-CDF/UB8-ABS
344 #:NORMALIZE-3-CDF/SF-REALPART
345 #:NORMALIZE-3-CDF/SF-IMAGPART
346 #:NORMALIZE-3-CDF/SF-PHASE
347 #:NORMALIZE-3-CDF/SF-ABS
348 #:NORMALIZE-3-CDF/DF-REALPART
349 #:NORMALIZE-3-CDF/DF-IMAGPART
350 #:NORMALIZE-3-CDF/DF-PHASE
351 #:NORMALIZE-3-CDF/DF-ABS
352 #:CONVERT-1-UB8/SF-MUL
353 #:CONVERT-1-UB8/DF-MUL
354 #:CONVERT-1-UB8/CSF-MUL
355 #:CONVERT-1-UB8/CDF-MUL
356 #:CONVERT-1-FIX/SF-MUL
357 #:CONVERT-1-FIX/DF-MUL
358 #:CONVERT-1-FIX/CSF-MUL
359 #:CONVERT-1-FIX/CDF-MUL
360 #:CONVERT-1-SF/DF-MUL
361 #:CONVERT-1-SF/CSF-MUL
362 #:CONVERT-1-SF/CDF-MUL
363 #:CONVERT-1-DF/CDF-MUL
364 #:CONVERT-1-CSF/CDF-MUL
365 #:CONVERT-1-DF/SF-COERCE
366 #:CONVERT-1-CDF/CSF-COERCE
367 #:CONVERT-1-SF/UB8-FLOOR
368 #:CONVERT-1-DF/UB8-FLOOR
369 #:CONVERT-1-SF/FIX-FLOOR
370 #:CONVERT-1-DF/FIX-FLOOR
371 #:CONVERT-1-CSF/SF-REALPART
372 #:CONVERT-1-CSF/SF-IMAGPART
373 #:CONVERT-1-CSF/SF-ABS
374 #:CONVERT-1-CSF/SF-PHASE
375 #:CONVERT-1-CDF/DF-REALPART
376 #:CONVERT-1-CDF/DF-IMAGPART
377 #:CONVERT-1-CDF/DF-ABS
378 #:CONVERT-1-CDF/DF-PHASE
379 #:CONVERT-1-CSF/UB8-REALPART
380 #:CONVERT-1-CSF/UB8-IMAGPART
381 #:CONVERT-1-CSF/UB8-ABS
382 #:CONVERT-1-CSF/UB8-PHASE
383 #:CONVERT-1-CDF/UB8-REALPART
384 #:CONVERT-1-CDF/UB8-IMAGPART
385 #:CONVERT-1-CDF/UB8-ABS
386 #:CONVERT-1-CDF/UB8-PHASE
387 #:CONVERT-2-UB8/SF-MUL
388 #:CONVERT-2-UB8/DF-MUL
389 #:CONVERT-2-UB8/CSF-MUL
390 #:CONVERT-2-UB8/CDF-MUL
391 #:CONVERT-2-FIX/SF-MUL
392 #:CONVERT-2-FIX/DF-MUL
393 #:CONVERT-2-FIX/CSF-MUL
394 #:CONVERT-2-FIX/CDF-MUL
395 #:CONVERT-2-SF/DF-MUL
396 #:CONVERT-2-SF/CSF-MUL
397 #:CONVERT-2-SF/CDF-MUL
398 #:CONVERT-2-DF/CDF-MUL
399 #:CONVERT-2-CSF/CDF-MUL
400 #:CONVERT-2-DF/SF-COERCE
401 #:CONVERT-2-CDF/CSF-COERCE
402 #:CONVERT-2-SF/UB8-FLOOR
403 #:CONVERT-2-DF/UB8-FLOOR
404 #:CONVERT-2-SF/FIX-FLOOR
405 #:CONVERT-2-DF/FIX-FLOOR
406 #:CONVERT-2-CSF/SF-REALPART
407 #:CONVERT-2-CSF/SF-IMAGPART
408 #:CONVERT-2-CSF/SF-ABS
409 #:CONVERT-2-CSF/SF-PHASE
410 #:CONVERT-2-CDF/DF-REALPART
411 #:CONVERT-2-CDF/DF-IMAGPART
412 #:CONVERT-2-CDF/DF-ABS
413 #:CONVERT-2-CDF/DF-PHASE
414 #:CONVERT-2-CSF/UB8-REALPART
415 #:CONVERT-2-CSF/UB8-IMAGPART
416 #:CONVERT-2-CSF/UB8-ABS
417 #:CONVERT-2-CSF/UB8-PHASE
418 #:CONVERT-2-CDF/UB8-REALPART
419 #:CONVERT-2-CDF/UB8-IMAGPART
420 #:CONVERT-2-CDF/UB8-ABS
421 #:CONVERT-2-CDF/UB8-PHASE
422 #:CONVERT-3-UB8/SF-MUL
423 #:CONVERT-3-UB8/DF-MUL
424 #:CONVERT-3-UB8/CSF-MUL
425 #:CONVERT-3-UB8/CDF-MUL
426 #:CONVERT-3-FIX/SF-MUL
427 #:CONVERT-3-FIX/DF-MUL
428 #:CONVERT-3-FIX/CSF-MUL
429 #:CONVERT-3-FIX/CDF-MUL
430 #:CONVERT-3-SF/DF-MUL
431 #:CONVERT-3-SF/CSF-MUL
432 #:CONVERT-3-SF/CDF-MUL
433 #:CONVERT-3-DF/CDF-MUL
434 #:CONVERT-3-CSF/CDF-MUL
435 #:CONVERT-3-DF/SF-COERCE
436 #:CONVERT-3-CDF/CSF-COERCE
437 #:CONVERT-3-SF/UB8-FLOOR
438 #:CONVERT-3-DF/UB8-FLOOR
439 #:CONVERT-3-SF/FIX-FLOOR
440 #:CONVERT-3-DF/FIX-FLOOR
441 #:CONVERT-3-CSF/SF-REALPART
442 #:CONVERT-3-CSF/SF-IMAGPART
443 #:CONVERT-3-CSF/SF-ABS
444 #:CONVERT-3-CSF/SF-PHASE
445 #:CONVERT-3-CDF/DF-REALPART
446 #:CONVERT-3-CDF/DF-IMAGPART
447 #:CONVERT-3-CDF/DF-ABS
448 #:CONVERT-3-CDF/DF-PHASE
449 #:CONVERT-3-CSF/UB8-REALPART
450 #:CONVERT-3-CSF/UB8-IMAGPART
451 #:CONVERT-3-CSF/UB8-ABS
452 #:CONVERT-3-CSF/UB8-PHASE
453 #:CONVERT-3-CDF/UB8-REALPART
454 #:CONVERT-3-CDF/UB8-IMAGPART
455 #:CONVERT-3-CDF/UB8-ABS
456 #:CONVERT-3-CDF/UB8-PHASE
457 #:convolve))
459 ;; for i in `cat vol.lisp|grep defconst|cut -d " " -f 2`;do echo \#:$i ;done