Skip to content

Commit 07df76c

Browse files
committed
Fixed estimation of phase_filter
1 parent cc0839a commit 07df76c

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

httomolibgpu/prep/phase.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,16 +126,19 @@ def paganin_filter(
126126

127127
if mem_stack:
128128
mem_stack.malloc(indx.size * indx.dtype.itemsize) # cp.asarray(indx)
129-
mem_stack.malloc(indx.size ** 2 * indx.dtype.itemsize) # cp.square
129+
mem_stack.malloc(indx.size * indx.dtype.itemsize) # cp.square
130+
mem_stack.free(indx.size * indx.dtype.itemsize) # cp.asarray(indx)
130131
mem_stack.malloc(indy.size * indy.dtype.itemsize) # cp.asarray(indy)
131-
mem_stack.malloc(indy.size ** 2 * indy.dtype.itemsize) # cp.square
132+
mem_stack.malloc(indy.size * indy.dtype.itemsize) # cp.square
133+
mem_stack.free(indy.size * indy.dtype.itemsize) # cp.asarray(indy)
132134

133-
mem_stack.malloc(indx.size ** 2 * indx.dtype.itemsize) # phase_filter
135+
mem_stack.malloc(indx.size * indy.size * indx.dtype.itemsize) # cp.add.outer
136+
mem_stack.free(indx.size * indx.dtype.itemsize) # cp.square
137+
mem_stack.free(indy.size * indy.dtype.itemsize) # cp.square
138+
mem_stack.malloc(indx.size * indy.size * indx.dtype.itemsize) # phase_filter
139+
mem_stack.free(indx.size * indy.size * indx.dtype.itemsize) # cp.add.outer
140+
mem_stack.free(indx.size * indy.size * indx.dtype.itemsize) # phase_filter
134141

135-
mem_stack.free(indx.size * indx.dtype.itemsize)
136-
mem_stack.free(indx.size ** 2 * indx.dtype.itemsize)
137-
mem_stack.free(indy.size * indy.dtype.itemsize)
138-
mem_stack.free(indy.size ** 2 * indy.dtype.itemsize)
139142
else:
140143
# Build Lorentzian-type filter
141144
phase_filter = fftshift(
@@ -146,6 +149,7 @@ def paganin_filter(
146149

147150
# Filter projections
148151
fft_tomo *= phase_filter
152+
del phase_filter
149153

150154
# Apply filter and take inverse FFT
151155
ifft_input = fft_tomo if not mem_stack else cp.empty(padded_tomo, dtype=cp.complex64)

0 commit comments

Comments
 (0)