Acousto-Optic Tomography Biomaps
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.
Common errors
-
ModuleNotFoundError: No module named 'aot-biomaps'
cause Attempting to import the package using a hyphen in the name instead of an underscore.fixUse `from aot_biomaps import ...` or `import aot_biomaps`. -
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.fixVerify that `folder_path` and `calibration_path` point to actual, accessible directories and files containing your AOT data. -
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`.fixImport directly from the top-level package: `from aot_biomaps import Biomap`.
Warnings
- gotcha The PyPI package `aot-biomaps` uses a hyphen, but Python imports require the package name to use underscores, i.e., `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.
- 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.
Install
-
pip install aot-biomaps
Imports
- Biomap
from aot-biomaps import Biomap
from aot_biomaps import Biomap
- biomap_processing
from aot_biomaps import biomap_processing
Quickstart
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)