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