![]() |
Blitz Support : |
From: Rüdiger Knörig (ruediger_at_[hidden])
Date: 2003-04-02 15:05:23
I'm going to write a 3D wavelet transformation. For this purpose, I have to
store the data in an three-dimensional array and filter it along the
rows,columns and (z-dim)-vectors. I will use a convolution algorithm based on
a cyclic-buffer for doing the 1D filtering & downsampling. This requires me
to read two values x0,x1 from the 1D vectors, store it in the buffer and
replace x0 = <buffer> * g0 (convolution), x1 = <buffer>*g1.
Thus I will have interleaved high/lowpass signals in the 1D vectors
afterwards.
When using Blitz++ I would derive a class Array3 which provides member
functions returning these (x,y,z)Vectors defined via strides from the base
array.
Is Blitz++ a good choice for this job or should I write an own Array3D class
based on a 1D valarray / T* array and slices to represent the vectors?
-- Rüdiger Knörig Institut für Fernmeldetechnik der TU Berlin