Ich stehe ein bissl bei der Implementierung der 3d Faltung an...
Ich habe mir das so gedacht, das man die slices auch berücksichtigen muß und daher den code um eine 3. for schleife erweitert, die über alle slices iteriert (0 bis k < kernel_size_slices). in dieser schleife steht dann der ürsprüngliche code mit
Voxel<float, 1> voxValue....
float signal_value...
int linear_index...
fConvoluted...
am ende erhöh ich noch den zähler offset_slices um eins.
mein problem ist das unterbringen der 3. dimension in der berechnung von linear_index. denn ursprünglich steht ja
int linear_index = j*(kernel_size_rows) + i;
zur zeit rechne ich i*j*(kernel_size_slices) + k, was offensichtlich nicht simmt (links refferenz, rechts mein ergebnis - bei central difference & average smoothing filter):
ich hab das ganze so verstanden, dass die faltung, so wie sie hier implementiert is dann nur vom linear_index abhängt und nur dort der code abgeändert werden muß.



Reply With Quote



Bookmarks