Skip to main content

MAZAlib

Cross-platform 2d/3d image segmentation C++ library

Authors: Roman V. Vasilyev, Timofey Sizonenko, Kirill M. Gerke, Marina V. Karsanina, Andrey A. Ananev Moscow, 2017-2024

Prerequisites

Install a modern C++ compiler.

Mac OS:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" && xcode-select --install

Linux (Ubuntu):

sudo apt-get install g++

Windows: Visual Studio 2015 or later with C++ tools installed

Install MazaLib

The easiest way to install and run MAZAlib is to utilize Python virtual environments (below are the commands to setup MAZAlib in Unix-based operation system, similar approach can be applied under Windows):

  1. Here env_name is any environment name that will used to run MAZAlib. path_to_env - path to the environment where it will be created (Use '.') if it's current folder.
python -m venv path_to_env/env_name
source path_to_env/env_name/bin/activate
  1. Note that under Unix-based systems you might need to install gtk library pip install numpy mazalib. Next, invoke following python code to activate GUI: (example run unsharp filter)
import numpy as np
import mazalib

im = np.fromfile('path/to/image.raw', dtype='uint8')
side_size = int(round(im.size**(1/3)))
im = np.reshape(im, (side_size,side_size,side_size))
result = mazalib.unsharp(im, [3.0])

Implemented approaches

Binarization (segmentation into two phases):

  1. Indicator kriging (Oh, W., & Lindquist, B. (1999). Image thresholding by indicator kriging. IEEE Transactions on Pattern Analysis and Machine Intelligence, 21(7), 590–602) link

  2. Markov random field aka MRF (Kulkarni, R., Tuller, M., Fink, W., & Wildenschild, D. (2012). Three-dimensional multiphase segmentation of X-ray CT data of porous materials using a Bayesian Markov random field framework. Vadose Zone Journal, 11(1)) link

  3. Region growth aka RG (Hashemi, M. A., Khaddour, G., François, B., Massart, T. J., & Salager, S. (2014). A tomographic imagery segmentation methodology for three-phase geomaterials based on simultaneous region growing. Acta Geotechnica, 9, 831-846) link

  4. Converging active contours aka CAC (Sheppard, A. P., Sok, R. M., & Averdunk, H. (2004). Techniques for image enhancement and segmentation of tomographic images of porous materials. Physica A: Statistical mechanics and its applications, 339(1-2), 145-151) link

Filters:

  1. Unsharp mask
  2. Non-local means (we added NLM implementation by Bruns, S., Stipp, S. L. S., & Sørensen, H. O. (2017). Looking for the signal: A guide to iterative noise and artefact removal in X-ray tomographic reconstructions of porous geomaterials. Advances in Water Resources, 105, 96-107) link

Publications

The paper describing this library is currently submitted to Computers & Geosciences Journal.

Useful cross-references

  1. MAZAgui - to utilize graphical user interface for MAZAlib
  2. PyFDMSS - a library to simulate single-phase flow on binary 3D pore geometries (Gerke, K. M., Vasilyev, R. V., Khirevich, S., Collins, D., Karsanina, M. V., Sizonenko, T. O., Korost, D.V., Lamontagne, S. & Mallants, D. (2018). Finite-difference method Stokes solver (FDMSS) for 3D pore geometries: Software development, validation and case studies. Computers & geosciences, 114, 41-58) link : pyfdmss

Download files

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

Source Distribution

mazalib-0.52.4.tar.gz (2.7 MB view details)

Uploaded Source

File details

Details for the file mazalib-0.52.4.tar.gz.

File metadata

  • Download URL: mazalib-0.52.4.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for mazalib-0.52.4.tar.gz
Algorithm Hash digest
SHA256 1e3e003a49f40ef5d40649ae66ab63d59910caad93154c1c41116c2e862215f5
MD5 fbb89345ea5646e340bb44d392b308a2
BLAKE2b-256 36c083f24e2a61861ed0f8726c85bfcd5e35b64dc9fa2f34fae743d73305dbcc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.52.4 This release

1 file

0.52.3

1 file

0.52.2

1 file

0.52.1

1 file

0.51

1 file

0.50

1 file

0.49

1 file

0.48.3

1 file

0.48.2

1 file

0.48.1

1 file

0.48

1 file

0.47.8

1 file

0.47.7

1 file

0.47.6

1 file

0.47.5

1 file

0.47.4

1 file

0.47.3

1 file

0.47.2

1 file

0.47.1

1 file

0.46

1 file

0.45

1 file

0.44

1 file

0.43

1 file

0.42

1 file

0.41

1 file

0.40

1 file

0.39

1 file

0.38

1 file

0.37

1 file

0.5

1 file

Supported by

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