Acousto-Optic Tomography Biomaps

raw JSON →
2.9.504 verified Fri Apr 17 auth: no python

Aot-biomaps is a Python library providing tools for processing and visualizing Acousto-Optic Tomography (AOT) data, specifically focusing on generating biomaps from raw measurement files. It is currently at version 2.9.504 and appears to have an irregular release cadence, often tied to updates in its parent AOT repository. It facilitates the conversion of AOT data into meaningful spatial representations.

pip install aot-biomaps
error ModuleNotFoundError: No module named 'aot-biomaps'
cause Attempting to import the package using a hyphen in the name instead of an underscore.
fix
Use from aot_biomaps import ... or import aot_biomaps.
error FileNotFoundError: [Errno 2] No such file or directory: 'your/data/folder'
cause The `Biomap` class was initialized with an invalid or non-existent path for the data folder or calibration file.
fix
Verify that folder_path and calibration_path point to actual, accessible directories and files containing your AOT data.
error AttributeError: module 'aot_biomaps' has no attribute 'biomap_class'
cause Trying to import a submodule explicitly when its contents (like `Biomap` class) are directly exposed by the package's `__init__.py`.
fix
Import directly from the top-level package: from aot_biomaps import Biomap.
gotcha The PyPI package `aot-biomaps` uses a hyphen, but Python imports require the package name to use underscores, i.e., `import aot_biomaps`.
fix Always use `from aot_biomaps import ...` or `import aot_biomaps`.
gotcha The `Biomap` class requires valid paths to AOT data folders and a calibration file during initialization. Without these, the library cannot function, and examples will fail.
fix Ensure you have actual AOT measurement data organized in a folder and a corresponding calibration file. Replace placeholder paths with your real data paths.
gotcha This library is highly specialized for Acousto-Optic Tomography. Its usage and functionality are deeply tied to specific AOT hardware and data formats, making it less suitable for general-purpose image or data processing tasks.
fix Understand that the library's utility is within the AOT domain. Ensure you have the necessary domain knowledge and data.

This quickstart demonstrates how to initialize the `Biomap` object. It highlights the critical dependency on providing valid local `folder_path` (containing raw AOT measurement files) and `calibration_path` files. The actual processing methods you call will depend on your specific AOT data and analysis goals.

import os
from aot_biomaps import Biomap

# NOTE: This library heavily relies on specific folder structures and calibration files.
# Replace these with actual paths to your AOT data and calibration files.
# Dummy paths are used here for demonstration purposes.

dummy_folder_path = os.path.join(os.path.dirname(__file__), 'dummy_aot_data')
dummy_calibration_path = os.path.join(os.path.dirname(__file__), 'dummy_calibration.txt')

# Create dummy files for the example to run without FileNotFoundError
# In a real scenario, these would be your actual AOT measurement data.
if not os.path.exists(dummy_folder_path):
    os.makedirs(dummy_folder_path)
with open(os.path.join(dummy_folder_path, 'measurement_0001.txt'), 'w') as f:
    f.write('0 0 0\n1 1 1')
with open(dummy_calibration_path, 'w') as f:
    f.write('1.0 0.0 0.0\n0.0 1.0 0.0\n0.0 0.0 1.0')

try:
    # Initialize the Biomap object
    my_biomap = Biomap(folder_path=dummy_folder_path, calibration_path=dummy_calibration_path)

    # Example: Process data (replace with actual processing steps)
    # These methods might require specific data formats to succeed
    print(f"Biomap initialized with shape: {my_biomap.img_shape}")

    # Attempt to load and process data (these might fail without actual AOT data)
    if hasattr(my_biomap, 'load_data'):
        # This method is not directly available in current __init__ or Biomap class
        # Actual usage might involve calling processing methods after init
        print("No direct 'load_data' method found as an example, proceeding with other calls.")

    # If the Biomap class has methods like 'get_biomap' or 'calculate_something'
    if hasattr(my_biomap, 'get_biomap'):
        print("Calling get_biomap (placeholder)")
        # result = my_biomap.get_biomap() # Uncomment with real data

    print("Biomap object created successfully. Further methods depend on your AOT data structure.")

except Exception as e:
    print(f"An error occurred during quickstart: {e}")
    print("Please ensure your 'folder_path' contains valid AOT measurement files and 'calibration_path' points to a correct calibration file.")

# Clean up dummy files
os.remove(os.path.join(dummy_folder_path, 'measurement_0001.txt'))
os.remove(dummy_calibration_path)
os.rmdir(dummy_folder_path)