mirror of
https://github.com/edoverg/MPID.git
synced 2026-10-14 23:26:38 +00:00
56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
#use this file to import some test phase masks and observe
|
|
#the effect of changing the filtering radius
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
from autograd import tensor_jacobian_product
|
|
|
|
class TempGrid:
|
|
def __init__(self, Nx, Ny, res): self.Nx, self.Ny, self.res = Nx, Ny, res
|
|
def get_Nx(self): return self.Nx
|
|
def get_Ny(self): return self.Ny
|
|
def get_resolution(self): return self.res
|
|
|
|
|
|
grid = TempGrid(Nx=1025, Ny=1025, res=0.7)
|
|
radius_to_test = [2.0, 5.0, 11.0]
|
|
|
|
input_mask = np.load('results/mask_2.npy')
|
|
#make a plot of the input mask
|
|
# fig, ax = plt.subplots()
|
|
# ax.imshow(input_mask, cmap='inferno')
|
|
# #zoom in the center region
|
|
# center_x, center_y = grid.get_Nx() // 2, grid.get_Ny() // 2
|
|
# zoom_size = 100 # adjust as needed
|
|
# ax.set_xlim(center_x - zoom_size, center_x + zoom_size)
|
|
# ax.set_ylim(center_y - zoom_size, center_y + zoom_size)
|
|
# plt.savefig('input_mask.pdf')
|
|
|
|
#apply the filter
|
|
from filters import Filter
|
|
|
|
center_x, center_y = grid.get_Nx() // 2, grid.get_Ny() // 2
|
|
zoom_size = 80
|
|
|
|
colormap = 'gray_r'
|
|
fig, ax = plt.subplots(1,4, figsize=(12, 3))
|
|
ax[0].imshow(input_mask, cmap=colormap)
|
|
ax[0].set_title('Input', fontsize=20)
|
|
ax[0].set_xlim(center_x - zoom_size, center_x + zoom_size)
|
|
ax[0].set_ylim(center_y - zoom_size, center_y + zoom_size)
|
|
ax[0].set_xticks([])
|
|
ax[0].set_yticks([])
|
|
for i, radius in enumerate(radius_to_test, start=1):
|
|
filt = Filter(radius, grid)
|
|
output_mask = filt.apply_filter(input_mask)
|
|
ax[i].imshow(output_mask.reshape(grid.get_Nx(), grid.get_Ny()), cmap=colormap)
|
|
ax[i].set_title(f'r={radius} \u03BCm', fontsize=20)
|
|
ax[i].set_xlim(center_x - zoom_size, center_x + zoom_size)
|
|
ax[i].set_ylim(center_y - zoom_size, center_y + zoom_size)
|
|
ax[i].set_xticks([])
|
|
ax[i].set_yticks([])
|
|
plt.tight_layout()
|
|
plt.savefig('filtered_masks.pdf')
|
|
|
|
|
|
|