def elliptical():
    """Generate a test image with random ellipses and background noise."""
    im = TestImage(shift=True, nx=1000, ny=1000)
    im.addEllipseRandom(nEllipse=100, value=5)
    im.addNoise(sigma=1)
    im.hanningFilter()
    #im.zeroPad()
    im.calcAll(min_npix=2, min_dr=1)
    im.plotMore()
    pylab.savefig('elliptical.%s' %(figformat), format='%s' %(figformat))
    # Invert from ACovF 1d without phases                                             
    im.invertAcovf1d()
    im.invertAcovf2d(useI=True)
    im.invertPsd2d(useI=True)
    im.invertFft(useI=True)
    im.showImageAndImageI()
    pylab.savefig('elliptical_invert.%s' %(figformat), format='%s' %(figformat))
    pylab.close()
    return
Beispiel #2
0
import numpy
import pylab

from testImage import TestImage
# from pImage import PImage  # if you don't need to do any plotting
from pImagePlots import PImagePlots  # if you do need to use the plotting functions for PImage

# Use TestImage to set up the image
im = TestImage(shift=True, nx=750, ny=750)
im.addLines(spacing=50, width=10, value=10, angle=0)
#im.addGaussian(xwidth=30, ywidth=30)
#im.addSin(scale=100)
#im.addCircle(radius=20)
#im.addEllipseRandom(nEllipse=100, value=5)
im.addNoise(sigma=1.)
#im.hanningFilter()
#im.zeroPad()

# Calculate FFT/PSD2d/ACovF/PSD1d in one go (can do these separately too).
# Use automatic binsize or user-defined binsize.
im.calcAll(min_dr=1.0, min_npix=2)
im.plotMore()

#im.showImage()
#im.showAcovf2d(log=True, imag=False)
#im.showPsd1d()
#im.showAcovf1d()
#im.showSf()

# Start at various points in inverting to reconstruct image (comment out stages above where you want to start).
Beispiel #3
0
im.hanningFilter()
im.zeroPad()
im.calcAll()
im.plotAll(title='Ring')

# ellipses, grid
im = TestImage()
im.addEllipseGrid(gridX=80, gridY=80, semiX=20., semiY=40., angle=45.)
im.hanningFilter()
im.zeroPad()
im.calcAll()
im.plotAll(title='Ellipse, grid')

# ellipses, random locations
im = TestImage()
im.addEllipseRandom(value=5)
im.hanningFilter()
im.zeroPad()
im.calcAll()
im.plotAll(title='Ellipse, random')

# ellipses, random locations, with noise
#im = TestImage()
#im.addEllipseRandom(value=5)
im.addNoise()
#im.zeroPad()
im.calcAll()
im.plotAll(title='Ellipse, random, with noise')

pylab.show()