Skip to main content

Advanced Microscopy Simulations developed for the Weber Lab by Baljyot Singh Parmar

Project description

AMS-BP

AMS-BP Logo

Advanced Fluorescence Microscopy Simulation Tool

AMS-BP is a powerful simulation tool for advanced fluorescence microscopy experiments. This guide covers both command-line usage and library integration.

NOTE: Please note that this application DOES NOT currently model the process of stimulated emission, and as such is not suitable for simulating stimulated emission microscopy (STED)-type experiments. Work in this area is ongoing.

Table of Contents

Installation

Installing the CLI tool using UV

  1. Install UV.
  2. Run the command:
uv tool install AMS_BP
  1. You will have access to two CLI commands (using the uv interface):
    • run_AMS_BP runsim : This is the main entry point for the simulation. (see run_AMS_BP runsim --help for more details)
    • run_AMS_BP config : This is a helper tool to generate a template config file for the simulation. (see run_AMS_BP config --help for more details)
    • Note: using run_AMS_BP --help will show you all the available commands.
  2. You can now use these tools (they are isolated in their own env created by uv, which is cool).

PyPi

  1. Run:
pip install AMS_BP

Command Line Interface

AMS-BP provides a command-line interface with two main commands:

# Generate a default configuration file
run_AMS_BP config [OPTIONS]

# Run a simulation using a configuration file
run_AMS_BP runsim CONFIG_FILE

Config Command Options

  • -o, --output_path PATH: Specify the output directory for the configuration file
  • -r, --recursive_o: Create output directory if it doesn't exist

Configuration File

The configuration file (sim_config.toml) is divided into several key sections:

For a detailed description of the configuration file, refer to the Configuration File Reference.

Basic Units

version = "0.1"
length_unit = "um"        # micrometers
time_unit = "ms"          # milliseconds
diffusion_unit = "um^2/s" # diffusion coefficient units

Key Configuration Sections

  1. Cell Parameters

    • Define cell space dimensions
    • Set cell axial radius
  2. Molecule Parameters

    • Number of molecules per type
    • Tracking types (constant/fbm)
    • Diffusion coefficients
    • State transition probabilities
  3. Global Parameters

    • Sample plane dimensions
    • Cycle count -> Exposure time + Interval time
    • Exposure and interval times
  4. Fluorophore Configuration

    • Any number of fluorophores
    • Any number of States per fluorophore
    • Fluorophore StateType: (bright, dark, bleached) -> All States must be one of these.
    • Transition parameters
    • Spectral properties
  5. Optical Configuration

    • PSF parameters
    • Laser settings
    • Channel configuration
    • Camera settings

Running Experiments

AMS-BP supports two types of experiments:

1. Time Series

[experiment]
experiment_type = "time-series"
z_position = 0.0
laser_names_active = ["red", "blue"]
laser_powers_active = [0.5, 0.05]
laser_positions_active = [[5, 5, 0], [5, 5, 0]]

2. Z-Stack

[experiment]
experiment_type = "z-stack"
z_position = [-0.5, -0.4, -0.3, -0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5]
laser_names_active = ["red", "blue"]
laser_powers_active = [0.5, 0.05]
laser_positions_active = [[5, 5, 0], [5, 5, 0]]

Advanced Usage

Using AMS-BP as a Library

For programmatic control, you can import and use AMS-BP as a Python library:

from AMS_BP.configio.convertconfig import ConfigLoader

# Configuration loader intialization
config_loader = ConfigLoader(config_path="path/to/config.toml")

# Setup microscope
setup_config = config_loader.setup_microscope()
microscope = setup_config["microscope"]
config_exp = setup_config["experiment_config"]
function_exp = setup_config["experiment_func"]

# Run simulation
frames, metadata = function_exp(microscope=microscope, config=config_exp)

# Save results
from AMS_BP.configio.saving import save_config_frames
save_config_frames(metadata, frames, setup_config["base_config"].OutputParameters)

A more detailed example is provided in the jupyter notebook in the examples. For starters refer to the VisualizingIndividualModules. Then head over to the laser modulation module which will show how to change the laser power over time in the simulations. Then view an example of a complex experiment setup for FRAP which is possible by the use of compositions of modules in this simulation library.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ams_bp-0.0.33.tar.gz (6.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ams_bp-0.0.33-py3-none-any.whl (80.4 kB view details)

Uploaded Python 3

File details

Details for the file ams_bp-0.0.33.tar.gz.

File metadata

  • Download URL: ams_bp-0.0.33.tar.gz
  • Upload date:
  • Size: 6.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for ams_bp-0.0.33.tar.gz
Algorithm Hash digest
SHA256 b717c2030ace8dd348895a7a08d0a449e8515274c077d5283eeb52183b3b5f59
MD5 5b2a7a0d0c7d6a47efeaabe4e44a1315
BLAKE2b-256 e6a758a83f9d82f2a0e029a7f33d742223fcf01dfcb784592928dc53b7dac7c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ams_bp-0.0.33.tar.gz:

Publisher: publish_pypi.yml on joemans3/AMS_BP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ams_bp-0.0.33-py3-none-any.whl.

File metadata

  • Download URL: ams_bp-0.0.33-py3-none-any.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for ams_bp-0.0.33-py3-none-any.whl
Algorithm Hash digest
SHA256 6597129c31332b4b9c6b702b90414f2c7b113ad2ef4ddfea2284fc0b0e96ba26
MD5 23d74f17fea21bb2d30ff6be99bcb175
BLAKE2b-256 03d47fde99c25b497beb129644b76b45349342bd8385cea530751827c09f24b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ams_bp-0.0.33-py3-none-any.whl:

Publisher: publish_pypi.yml on joemans3/AMS_BP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page