iradon_sart: Clarify how constants are chosen.

This commit is contained in:
Jostein Bø Fløystad
2013-07-05 13:14:38 +02:00
parent 496902145f
commit 94eba1c911
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -120,7 +120,7 @@ cpdef bilinear_ray_update(cnp.ndarray[cnp.double_t, ndim=2] image,
cdef double s0
s0 = sqrt(radius*radius - t*t) if radius**2 >= t**2 else 0.
cdef unsigned int Ns = 2 * int(ceil(2 * s0))
cdef double hamming_beta = 0.46164
cdef double hamming_beta = 0.46164 # beta for equiripple Hamming window
cdef double ds, dx, dy, x0, y0, x, y, di, dj, index_i, index_j
cdef double hamming_window
+2 -1
View File
@@ -257,13 +257,14 @@ def iradon(radon_image, theta=None, output_size=None,
return reconstructed * np.pi / (2 * len(th))
def _sart_order_angles(theta, tau=3.):
def _sart_order_angles(theta):
"""
Order angles to reduce the amount of correlated information
in subsequent projections, i.e. make sure subsequent angles
are as far away from each other mod 180 degrees as possible.
Indices into the ``theta`` array are yielded.
"""
tau = 3. # time constant for correlations; 0.1 < tau < 100 works well
used_indices = [0]
remaining_indices = range(1, len(theta))
yield 0