Skip to content

tlambert03/microsim

Repository files navigation

microsim

License PyPI Python Version CI codecov

Light microscopy simulation in python.

The goal of this library is to generate highly realistic simulated data such as the following:

Montage2

(this data was generated using segmentations from cell jrc_hela-3 at OpenOrganelle as the ground truth)

Installation

from PyPI

pip install microsim

from github

To get the bleeding edge version, which will change rapidly, you can install from github.

pip install git+https://github.com/tlambert03/microsim

If available, microsim can use either Jax or Cupy to accelerate computations. These are not installed by default, see the jax or cupy installation instructions, paying attention to your GPU requirements. Support for torch is planned.

Usage

Construct and run a microsim.Simulation object.

from microsim import schema as ms
from microsim.util import ortho_plot

# define the parameters of the simulation
sim = ms.Simulation(
    truth_space=ms.ShapeScaleSpace(shape=(128, 512, 512), scale=(0.02, 0.01, 0.01)),
    output_space={'downscale': 8},
    sample=ms.Sample(
        labels=[ms.MatsLines(density=0.5, length=30, azimuth=5, max_r=1)]
    ),
    modality=ms.Confocal(pinhole_au=0.2),
    output_path="au02.tiff",
)

# run it
result = sim.run()

# optionally plot the result
ortho_plot(result)

Documentation

See the API Reference (https://tlambert03.github.io/microsim/api/) for details on the Simulation object and options for all of the fields.