Introduction
MERMAKE processes MERFISH, smFISH, and IF imaging data by detecting local intensity maxima (puncta) in 3D image stacks. In multiplexed experiments (MERFISH), these puncta are decoded using a user-supplied codebook, while in smFISH mode and IF, the puncta are simply called and reported as-is.
To install MERMAKE,
python3 -m pip install mermake
❗The newest version of mermake (>= 0.0.61) does drift but requires the nightly release of cupy available via:
pip install --pre cupy-cuda12x==14.0.0a1 -f https://pip.cupy.dev/pre
⚠️ GPU Requirements & CUDA Toolkit
MERMAKE relies on CuPy for GPU-accelerated image processing. To run MERMAKE successfully, you must have:
- An NVIDIA GPU with CUDA support
- The CUDA Toolkit installed (Refer to the official CuPy installation guide)
MERMAKE Usage
To run MERMAKE, you'll need to provide a configuration TOML file with a few key settings describing your experiment.
mermake my_settings.toml
If mermake is run without providing a toml file, it will warn about the usage and print out the toml file format. Most users only need to edit the [paths] section.
| TOML Section | Variable Name | Description |
|---|---|---|
[paths] |
codebook |
Path to the CSV codebook for decoding barcodes (for MERFISH data only) |
[paths] |
psf_file |
Path to the PSF file used for deconvolution (e.g., .npy or .pkl) |
[paths] |
flat_field_tag |
Prefix path for flat field correction files (e.g., "Scope3_") |
[paths] |
hyb_range |
Range of hybridization rounds to process (e.g., 'H1_*_set1:H1_*_set3') |
[paths] |
hyb_folders |
List of folders containing raw imaging data |
[paths] |
output_folder |
Path to the folder where MERMAKE should save results |
All other sections (
[hybs],[dapi], etc.) are preconfigured for most use cases and usually do not need to be changed. Though to use multi-psfs you will want to set thetilesizeto the size of the samping grid (ie 300).
Example Config (config.toml)
[paths]
codebook = "codebook.csv"
psf_file = "psfs/psf_scope3.npy"
flat_field_tag = "flat_field/Scope3_"
hyb_range = "H1_*_set1:H16_*_set3"
hyb_folders = ["experiment_folder"]
output_folder = "output"
background_range = 'H0_background_set1:H0_background_set3'
#---------------------------------------------------------------------------------------#
#---------------------------------------------------------------------------------------#
# you probably dont have to change any of the settings below #
#---------------------------------------------------------------------------------------#
#---------------------------------------------------------------------------------------#
hyb_save = '{fov}--{tag}--col{icol}__Xhfits.npz'
dapi_save = '{fov}--{tag}--dapiFeatures.npz'
drift_save = 'drift_Conv_zscan__{ifov:0>3}--_set{iset}.pkl'
regex = '''([A-z]+)(\d+)_([^_]+)_set(\d+)(.*)''' #use triple quotes to avoid double escape
[hybs]
tile_size = 500
overlap = 89
beta = 0.0001
threshold = 3600
blur_radius = 30
delta = 1
delta_fit = 3
sigmaZ = 1
sigmaXY = 1.5
[dapi]
tile_size = 500
overlap = 89
beta = 0.01
threshold = 3.0
blur_radius = 50
delta = 5
delta_fit = 5
sigmaZ = 1
sigmaXY = 1.5
Metadata
Release files for mermake 0.0.74
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mermake-0.0.74.tar.gz | 120.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mermake-0.0.74-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 226.8 kB
Release files / mermake-0.0.74.tar.gz
| Download URL | mermake-0.0.74.tar.gz |
|---|---|
| Size | 120.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcede3c6dddca74213bacbb9020d2cdd3153daf21575ca60ef6ef4d3c70886e1
|
|
BLAKE2b-256 checksum How to use checksums |
4b4aadd0308f9c516982f667b9680a40eeda71db7799f35172789ec3b2d13560
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.10.12
|
Release files / mermake-0.0.74-py3-none-any.whl
| Download URL | mermake-0.0.74-py3-none-any.whl |
|---|---|
| Size | 106.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
624b8c31f7513ca3354edbf0a459d593e157511788f1bb3f0651a1b097ec9999
|
|
BLAKE2b-256 checksum How to use checksums |
f6893ff2c45f465ecaf0b7643d052b095586cbab311e816a4d4630d8fc7e2168
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.10.12
|