Example #1
0
def get_int_var(masked_spectrum, distance, wavelength):
    propagation_array = get_propagation_array(masked_spectrum.shape, distance,
        wavelength)
    propagated = propagation_array * masked_spectrum
    reconstructed = get_shifted_idft(propagated)
    intensity = get_intensity(reconstructed)
    fitness = intensity.var()
    return fitness
Example #2
0
def get_int_var(masked_spectrum, distance, wavelength):
    propagation_array = get_propagation_array(masked_spectrum.shape, distance,
                                              wavelength)
    propagated = propagation_array * masked_spectrum
    reconstructed = get_shifted_idft(propagated)
    intensity = get_intensity(reconstructed)
    fitness = intensity.var()
    return fitness
Example #3
0
def get_lowpass_var(masked_spectrum, distance):
    propagation_array = get_propagation_array(masked_spectrum.shape, distance)
    propagated = propagation_array * masked_spectrum
    lowpass_mask = get_lowpass_mask(propagated.shape, .4)
    propagated = lowpass_mask * propagated
    reconstructed = get_shifted_idft(propagated)
    intensity = get_intensity(reconstructed)
    fitness = intensity.var()
    return fitness
Example #4
0
def get_lowpass_var(masked_spectrum, distance):
    propagation_array = get_propagation_array(masked_spectrum.shape, distance)
    propagated = propagation_array * masked_spectrum
    lowpass_mask = get_lowpass_mask(propagated.shape, .4)
    propagated = lowpass_mask * propagated
    reconstructed = get_shifted_idft(propagated)
    intensity = get_intensity(reconstructed)
    fitness = intensity.var()
    return fitness
Example #5
0
def phase_detection(masked_spectrum, distance):
    shape = masked_spectrum.shape
    shape_center = [dim / 2 for dim in shape]

    filtered_hologram = get_shifted_idft(masked_spectrum)
    focus_mask = get_mask(shape, np.ones(20), shape_center)
    focus_feature = filtered_hologram * focus_mask
    feature_spectrum = get_shifted_dft(focus_feature)

    propagation_array = get_propagation_array(shape, distance)
    propagated_spectrum = propagation_array * feature_spectrum

    propagated_hologram = get_shifted_idft(propagated_spectrum)

    radious = 50
    separation = 400

    window = np.ones(radious)

    spectrum2sensor = np.angle
    spectrum2sensor = np.abs
    spectrum2sensor = get_intensity
    spectrum2sensor = normalize

    left_center = shape_center[0], shape_center[1] - separation / 2
    left_mask = get_mask(shape, window, left_center)
    #    left_bundle = left_mask * propagated_spectrum
    left_bundle = left_mask * propagated_hologram
    left_sensor = spectrum2sensor(get_shifted_dft(left_bundle))
    left_peak = get_circles(left_sensor, 1, 50)[0][1]

    right_center = shape_center[0], shape_center[1] + separation / 2
    right_mask = get_mask(shape, window, right_center)
    right_bundle = right_mask * propagated_hologram
    right_sensor = spectrum2sensor(get_shifted_dft(right_bundle))
    right_peak = get_circles(right_sensor, 1, 50)[0][1]

    #    showimage(normalize(np.maximum(left_bundle, right_bundle)))
    #    showimage(normalize(np.maximum(left_sensor, right_sensor)))

    distance = get_distance(left_peak, right_peak)
    fitness = distance
    return fitness
Example #6
0
def phase_detection(masked_spectrum, distance):
    shape = masked_spectrum.shape
    shape_center = [dim / 2 for dim in shape]

    filtered_hologram = get_shifted_idft(masked_spectrum)
    focus_mask = get_mask(shape, np.ones(20), shape_center)
    focus_feature = filtered_hologram * focus_mask
    feature_spectrum = get_shifted_dft(focus_feature)

    propagation_array = get_propagation_array(shape, distance)
    propagated_spectrum = propagation_array * feature_spectrum

    propagated_hologram = get_shifted_idft(propagated_spectrum)

    radious = 50
    separation = 400

    window = np.ones(radious)

    spectrum2sensor = np.angle
    spectrum2sensor = np.abs
    spectrum2sensor = get_intensity
    spectrum2sensor = normalize

    left_center = shape_center[0], shape_center[1] - separation / 2
    left_mask = get_mask(shape, window, left_center)
#    left_bundle = left_mask * propagated_spectrum
    left_bundle = left_mask * propagated_hologram
    left_sensor = spectrum2sensor(get_shifted_dft(left_bundle))
    left_peak = get_circles(left_sensor, 1, 50)[0][1]

    right_center = shape_center[0], shape_center[1] + separation / 2
    right_mask = get_mask(shape, window, right_center)
    right_bundle = right_mask * propagated_hologram
    right_sensor = spectrum2sensor(get_shifted_dft(right_bundle))
    right_peak = get_circles(right_sensor, 1, 50)[0][1]

#    showimage(normalize(np.maximum(left_bundle, right_bundle)))
#    showimage(normalize(np.maximum(left_sensor, right_sensor)))

    distance = get_distance(left_peak, right_peak)
    fitness = distance
    return fitness
Example #7
0
def reconstruct(propagated, **kw):
    reconstructed = get_shifted_idft(propagated)
    return reconstructed
Example #8
0
    return mask


def get_lowpass_mask(shape, radius=0.2, softness=0):
    radius = round(min(shape) * radius)
    window = np.kaiser(radius, softness)
    mask = get_mask(shape, window)
    return mask


@methods
def get_var(masked_spectrum, distance, wavelength, (dx, dy)):
    propagation_array = get_propagation_array(masked_spectrum.shape, distance,
                                              wavelength, (dx, dy))
    propagated = propagation_array * masked_spectrum
    reconstructed = get_shifted_idft(propagated)
    module = get_module(reconstructed)
    module_zone = get_best_contrast_zone(module)
    #    showimage(normalize(module_zone))
    fitness = module_zone.var()
    return fitness


@methods
def get_diff_var(masked_spectrum, distance, wavelength, (dx, dy)):
    fitness = get_var(masked_spectrum, distance, wavelength, (dx, dy))
    fitness -= get_var(masked_spectrum, -distance, wavelength, (dx, dy))
    return fitness


@methods
Example #9
0
 def reconstructed(self):
     print("IDFT(Propagated)")
     return get_shifted_idft(self.propagated)
Example #10
0
def reconstruct(propagated, **kw):
    reconstructed = get_shifted_idft(propagated)
    return reconstructed
Example #11
0
 def reconstructed(self):
     print("IDFT(Propagated)")
     return get_shifted_idft(self.propagated)
Example #12
0
    return mask


def get_lowpass_mask(shape, radius=0.2, softness=0):
    radius = round(min(shape) * radius)
    window = np.kaiser(radius, softness)
    mask = get_mask(shape, window)
    return mask


@methods
def get_var(masked_spectrum, distance, wavelength, (dx, dy)):
    propagation_array = get_propagation_array(masked_spectrum.shape,
        distance, wavelength, (dx, dy))
    propagated = propagation_array * masked_spectrum
    reconstructed = get_shifted_idft(propagated)
    module = get_module(reconstructed)
    module_zone = get_best_contrast_zone(module)
#    showimage(normalize(module_zone))
    fitness = module_zone.var()
    return fitness


@methods
def get_diff_var(masked_spectrum, distance, wavelength, (dx, dy)):
    fitness = get_var(masked_spectrum, distance, wavelength, (dx, dy))
    fitness -= get_var(masked_spectrum, -distance, wavelength, (dx, dy))
    return fitness


@methods