Skip to content

kkretschmer/MURA.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MURA

Build Status Coverage Status

Generate modified uniformly redundant arrays (MURAs) as described in the publication below. These arrays are used for coded aperture imaging.

S. R. Gottesman and E. E. Fenimore. New family of binary arrays for coded aperture imaging. Appl. Opt., 28:4344–4352, October 1989. doi:10.1364/AO.28.004344.

Currently implements linear and square patterns and their decoding arrays. Square patterns can be mosaicked.

Linear patterns

The list of valid linear MURA pattern lengths L, where L is prime and L % 4 == 1 up to the first one greater or equal to n can be obtained by:

linearlengths(n)

You can generate a linear MURA pattern of length L by calling:

linearpattern(L)

The corresponding decoding pattern can be generated by:

lineardecoding(L)

Both can be made symmetric under reversal by symmshift, e.g.:

29 |> linearpattern |> symmshift |> x -> join(x, " ")
"0 1 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0"

Hexagonal patterns

Not implemented

Square patterns

You can generate a square MURA pattern with p × p elements, where p is prime by calling:

squarepattern(p)

The corresponding decoding pattern can be generated by:

squaredecoding(p)

Both can be made symmetric under rotation by 180° by symmshift. A mosaic of 2 × 2 patterns, excluding the first row and the first column, can be generated by:

squaremosaic(p)

The list of valid mosaic lengths p up to the first one greater or equal to n can be obtained from:

mosaiclengths(n)

About

Modified uniformly redundant arrays

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages