/speckle_pattern

Generate print-ready pattern images for DIC applications.

Primary LanguageJupyter NotebookMIT LicenseMIT

Generate print-ready images of a random speckle pattern for DIC applications.

Installation

This package is hosted on PyPI. Install it using pip:

pip install speckle_pattern

Example speckle pattern

from speckle_pattern import generate_and_save

image_height = 50 # mm
image_width = 100 # mm
speckle_diameter = 3 # mm
dpi = 200
save_path = 'example.jpg'

generate_and_save(image_height, image_width, dpi, speckle_diameter, save_path)

random speckle

More speckle generation options

from speckle_pattern import generate_and_save

image_height = 50 # mm
image_width = 100 # mm
speckle_diameter = 7.5 # mm
dpi = 150
save_path = 'example2.tiff'

size_randomness = 0.9 # set higher for more speckle size variety
position_randomness = 2.5 # set higher for more speckle position variety
speckle_blur = 0. # sigma of smothing Gaussian kernel
grid_step = 2. # approximate grid step, in terms of speckle diameter `D`

generate_and_save(
    image_height, 
    image_width, 
    dpi, 
    speckle_diameter, 
    save_path,
    size_randomness=size_randomness,
    position_randomness=position_randomness,
    speckle_blur=speckle_blur,
    grid_step=grid_step,
    )

random speckle 2

Example line pattern

from speckle_pattern import generate_lines

image_height = 50 # mm
image_width = 100 # mm
line_width = 5 # mm
orientation = 'vertical'
dpi = 200
save_path = f'example_lines_{orientation}.jpg'

generate_lines(image_height, image_width, dpi, line_width, save_path)

vertical lines

Example checkerboard pattern

from speckle_pattern import generate_checkerboard

image_height = 50 # mm
image_width = 100 # mm
line_width = 4 # mm
dpi = 200
save_path = f'example_checkerboard.jpg'

generate_checkerboard(image_height, image_width, dpi, line_width=line_width, path=save_path)

checkerboard

Authors