import%20marimo%0A%0A__generated_with%20%3D%20%220.19.11%22%0Aapp%20%3D%20marimo.App(width%3D%22medium%22)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%0A%20%20%20%20return%20(mo%2C)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20numpy%20as%20np%0A%20%20%20%20rng%20%3D%20np.random.default_rng()%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20scipy%20as%20si%0A%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20from%20skimage%20import%20io%2C%20morphology%20as%20mf%0A%0A%20%20%20%20return%20io%2C%20mf%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20matplotlib%0A%20%20%20%20import%20matplotlib.pyplot%20as%20plt%0A%20%20%20%20plt.ion()%3B%0A%20%20%20%20return%20(plt%2C)%0A%0A%0A%40app.cell%0Adef%20_(mo)%3A%0A%20%20%20%20from%20pathlib%20import%20Path%0A%20%20%20%20mo.pdf(src%3DPath(%22Homework8.pdf%22)%2C%20width%3D%22100%25%22%2C%20height%3D%2250vh%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20Spot%20Removal%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(io%2C%20plt)%3A%0A%20%20%20%20lichtenstein_imageduplicator_1963_png%20%3D%20io.imread(%22Lichtenstein_imageDuplicator_1963.png%22)%0A%20%20%20%20lichtenstein_imageduplicator_1963_gray%20%3D%20io.imread(%22Lichtenstein_imageDuplicator_1963_gray.png%22)%0A%20%20%20%20fig0%2C%20(ax0a%2C%20ax0b)%20%3D%20plt.subplots(1%2C%202)%0A%20%20%20%20ax0a.imshow(lichtenstein_imageduplicator_1963_png)%0A%20%20%20%20ax0b.imshow(lichtenstein_imageduplicator_1963_gray%2C%20cmap%3D%22gray%22)%0A%20%20%20%20return%20(lichtenstein_imageduplicator_1963_gray%2C)%0A%0A%0A%40app.cell%0Adef%20_(lichtenstein_imageduplicator_1963_gray%2C%20mf)%3A%0A%20%20%20%20lichtenstein_imageduplicator_1963_close%20%3D%20mf.closing(lichtenstein_imageduplicator_1963_gray%2C%20mf.disk(4))%0A%20%20%20%20lichtenstein_imageduplicator_1963_close%20%3D%20mf.closing(lichtenstein_imageduplicator_1963_gray%2C%20mf.disk(2))%0A%20%20%20%20return%20(lichtenstein_imageduplicator_1963_close%2C)%0A%0A%0A%40app.cell%0Adef%20_(lichtenstein_imageduplicator_1963_close%2C%20plt)%3A%0A%20%20%20%20fig1%2C%20ax1%20%3D%20plt.subplots()%0A%20%20%20%20ax1.imshow(lichtenstein_imageduplicator_1963_close%2C%20cmap%3D%22gray%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
bf75137d912661fa834ee298d0c19bf5