Skip to content

teamtomo/imodmodel

This branch is up to date with main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4ac0766 · Jan 30, 2025

History

42 Commits
Jan 11, 2024
Jun 13, 2024
Jan 30, 2025
Jan 30, 2025
Jan 4, 2023
May 18, 2022
May 18, 2022
May 18, 2022
Jan 11, 2024
Jan 4, 2023
May 16, 2024

Repository files navigation

imodmodel

License PyPI Python Version CI

Read IMOD model files as pandas dataframes in Python.

Usage

As pandas DataFrame

import imodmodel

df = imodmodel.read('my_model_file.mod')
In [3]: df.head()
Out[3]: 
   object_id  contour_id          x          y     z
0          0           0  64.333336  64.666664  80.0
1          0           0  47.000000  77.333336  80.0
2          0           0  51.333332  45.666668  80.0
3          0           0  87.333336  49.666668  80.0
4          0           0  76.000000  82.000000  80.0


As ImodModel object

from imodmodel import ImodModel
model = ImodModel.from_file("my_model_file.mod")
In [3]: model.objects[0].contours[0].points
Out[3]: 
array([[  6.875,  62.875, 124.   ], ...])

In [4]: model.objects[0].meshes[0].vertices
Out[4]: 
array([[ 6.87500000e+00,  6.28750000e+01,  1.24000000e+02], ...])

In [5]: model.objects[0].meshes[0].indices
Out[5]: 
array([[156,  18, 152], ...])

In [6]: model.objects[0].meshes[0].face_values
Out[6]: 
array([0., 0., 35.22094345, ...])

That's it!

Installation

imodmodel can be installed from the Python Package Index (PyPI)

pip install imodmodel

We recommend installing into a clean virtual environment.