예제 #1
0
# with the package.
"""Usage example: tvl2.TVL2Deconv (denoising problem)"""

from __future__ import print_function
from builtins import input
from builtins import range

import numpy as np

from sporco import util
from sporco import plot
from sporco.admm import tvl2

# Load reference image
img = util.rgb2gray(util.ExampleImages().image('standard',
                                               'monarch.png',
                                               scaled=True))[:, 160:672]

# Construct test image
np.random.seed(12345)
imgn = img + np.random.normal(0.0, 0.05, img.shape)

# Set up TVDeconv options
lmbda = 0.04
opt = tvl2.TVL2Deconv.Options({
    'Verbose': True,
    'MaxMainIter': 200,
    'gEvalY': False
})

# Initialise and run TVL2Deconv object
예제 #2
0
 def test_05(self):
     rgb = np.random.randn(64, 64, 3)
     gry = util.rgb2gray(rgb)
예제 #3
0
from builtins import range

import numpy as np
from scipy.ndimage.interpolation import zoom

from sporco.admm import bpdn
from sporco.admm import cmod
from sporco import util
from sporco import plot

# Training images
exim = util.ExampleImages(scaled=True)
img1 = exim.image('lena.grey')
img2 = exim.image('barbara.grey')
img3 = exim.image('kiel.grey')
img4 = util.rgb2gray(exim.image('mandrill'))
img5 = exim.image('man.grey')[100:612, 100:612]

# Reduce images size to speed up demo script
S1 = zoom(img1, 0.5)
S2 = zoom(img2, 0.5)
S3 = zoom(img3, 0.5)
S4 = zoom(img4, 0.5)
S5 = zoom(img5, 0.5)

# Extract all 8x8 image blocks, reshape, and subtract block means
S = util.imageblocks((S1, S2, S3, S4, S5), (8, 8))
S = np.reshape(S, (np.prod(S.shape[0:2]), S.shape[2]))
S -= np.mean(S, axis=0)

# Load dictionary
예제 #4
0
from __future__ import print_function
from builtins import input
from builtins import range

import numpy as np

from sporco.admm import cbpdndl
from sporco import util
from sporco import plot

# Training images
exim = util.ExampleImages(scaled=True, zoom=0.25)
S1 = exim.image('standard', 'lena.grey.png')
S2 = exim.image('standard', 'barbara.grey.png')
S3 = util.rgb2gray(
    exim.image('standard', 'monarch.png', idxexp=np.s_[:, 160:672]))
S4 = util.rgb2gray(exim.image('standard', 'mandrill.png'))
S5 = exim.image('standard', 'man.grey.png', idxexp=np.s_[100:612, 100:612])
S = np.dstack((S1, S2, S3, S4, S5))

# Highpass filter test images
npd = 16
fltlmbd = 5
sl, sh = util.tikhonov_filter(S, fltlmbd, npd)

# Initial dictionary
np.random.seed(12345)
D0 = np.random.randn(10, 10, 48)

# Set ConvBPDNDictLearn parameters, including multi-scale dictionary size
lmbda = 0.2
예제 #5
0
from scipy.ndimage import zoom
import imageio

from sporco.dictlrn import cbpdndl
from sporco import util
from sporco import plot
"""
Construct 3D training array from video data
"""

reader = imageio.get_reader('imageio:cockatoo.mp4')
nfrm = reader.get_length()
frmlst = []
for i, frm in enumerate(reader):
    if i >= 250:
        frm = zoom(util.rgb2gray(frm.astype(np.float32) / 255.0), 0.25)
        frmlst.append(frm[20:-20, 70:-70])
vid = np.stack(frmlst, axis=2)
"""
Highpass filter video frames.
"""

npd = 16
fltlmbd = 10
vl, vh = util.tikhonov_filter(vid, fltlmbd, npd)
"""
Construct initial dictionary.
"""

np.random.seed(12345)
D0 = np.random.randn(5, 5, 3, 25)
예제 #6
0
             x,
             y,
             xlbl='x',
             ylbl='y',
             title='Contour Plot Example',
             fgrf=fig,
             axrf=ax[1])
fig.show()
"""
Load an example colour image and create a corresponding grayscale version.
"""

imgc = util.ExampleImages().image('kodim23.png',
                                  scaled=True,
                                  idxexp=np.s_[150:500, 30:380])
imgg = util.rgb2gray(imgc)
"""
Display the example colour image.
"""

plot.imview(imgc, title='Image View Example', fgsz=(6, 6))
"""
Display the grayscale image with a false-colour colour map, with a
colour bar display of the color map.
"""

plot.imview(imgg,
            cmap=plot.cm.coolwarm,
            title='Image View Example',
            cbar=True,
            fgsz=(7, 6))
예제 #7
0
from builtins import range

import numpy as np

from sporco.admm import cbpdn
from sporco.admm import ccmod
from sporco.admm import dictlrn
from sporco import util
from sporco import plot


# Training images (size reduced to speed up demo script)
exim = util.ExampleImages(scaled=True, zoom=0.25)
S1 = exim.image('standard', 'lena.grey.png')
S2 = exim.image('standard', 'barbara.grey.png')
S3 = util.rgb2gray(exim.image('standard', 'monarch.png'))[:,40:168]
S4 = util.rgb2gray(exim.image('standard', 'mandrill.png'))
S5 = exim.image('standard', 'man.grey.png')[25:153, 25:153]
S = np.dstack((S1,S2,S3,S4,S5))


# Highpass filter test images
npd = 16
fltlmbd = 5
sl, sh = util.tikhonov_filter(S, fltlmbd, npd)


# Initial dictionary
np.random.seed(12345)
D0 = np.random.randn(8, 8, 64)
예제 #8
0
fig, ax = plot.subplots(nrows=1, ncols=2, figsize=(12.1, 5))
fig.suptitle('Figure Title', fontsize=14)
plot.surf(z, x, y, xlbl='x', ylbl='y', zlbl='z', title='Surface Plot Example',
        fig=fig, ax=ax[0])
plot.contour(z, x, y, xlbl='x', ylbl='y', title='Contour Plot Example',
        fig=fig, ax=ax[1])
fig.show()


"""
Load an example colour image and create a corresponding grayscale version.
"""

imgc = util.ExampleImages().image('kodim23.png', scaled=True,
                                idxexp=np.s_[150:500, 30:380])
imgg = util.rgb2gray(imgc)


"""
Display the example colour image.
"""

plot.imview(imgc, title='Image View Example', fgsz=(6, 6))


"""
Display the grayscale image with a false-colour colour map, with a
colour bar display of the color map.
"""

plot.imview(imgg, cmap=plot.cm.coolwarm, title='Image View Example',
예제 #9
0
from sporco.dictlrn import cbpdndl
from sporco import util
from sporco import plot


"""
Construct 3D training array from video data
"""

reader = imageio.get_reader('imageio:cockatoo.mp4')
nfrm = reader.get_length()
frmlst = []
for i, frm in enumerate(reader):
    if i >= 250:
        frm = zoom(util.rgb2gray(frm.astype(np.float32)/255.0), 0.25)
        frmlst.append(frm[20:-20, 70:-70])
vid = np.stack(frmlst, axis=2)


"""
Highpass filter video frames.
"""

npd = 16
fltlmbd = 10
vl, vh = util.tikhonov_filter(vid, fltlmbd, npd)


"""
Construct initial dictionary.
예제 #10
0
from sporco.admm import rpca
from sporco import metric
from sporco import util
from sporco import plot


"""
Load example video.
"""

reader = imageio.get_reader('imageio:newtonscradle.gif')
nfrm = reader.get_length()
frmlst = []
for i, frm in enumerate(reader):
    frmlst.append(util.rgb2gray(frm[..., 0:3].astype(np.float32)/255.0))
v = np.stack(frmlst, axis=2)


"""
Construct matrix with each column consisting of a vectorised video frame.
"""

S = v.reshape((-1, v.shape[-1]))


"""
Set options for the Robust PCA solver, create the solver object, and solve, returning the estimates of the low rank and sparse components ``X`` and ``Y``. Unlike most other SPORCO classes for optimisation problems, :class:`.rpca.RobustPCA` has a meaningful default regularization parameter, as used here.
"""

opt = rpca.RobustPCA.Options({'Verbose': True, 'gEvalY': False,
예제 #11
0
 def test_08(self):
     rgb = np.random.randn(64, 64, 3)
     gry = util.rgb2gray(rgb)