Skip to main content

A python library for calculating/looking up various tissue properties for laser bioeffect calculations

To simulate the exposure of tissue (skin or retina) to laser radiation, several properties characterizing the thermo-optical response of the tissue are needed. These include absorption coefficients, transmission coefficients, conductivity, density, specific heat, etc. This library is a collection of tissue property data sets that have been reported in the literature.

Installing

Install with pip (or your favorite virtual environment manager)

pip install tissue-properties

Usage

All models accept wavelength as a pint Quantity object or a plain string such as "532 nm". Results are always Quantity objects with appropriate units. Every model also exposes a .get_reference() method that returns the source paper as a BibTeX string.

from tissue_properties.units import Q_

Absorption Coefficient

Mainster (1970) — tabulated, 400–1361 nm

Data extracted from Figure 3 of Mainster et al., JOSA 60(2), 1970.

from tissue_properties.optical.absorption_coefficient import mainster

rpe = mainster.RPE()
choroid = mainster.Choroid()

print("# wavelength (nm)  RPE (1/cm)  Choroid (1/cm)")
for wavelength in range(400, 1405, 5):
    l = Q_(wavelength, "nm")
    print(l, rpe(l), choroid(l))

print(rpe.get_reference())

Schulmeister (2017) — analytic formulas

from tissue_properties.optical.absorption_coefficient import schulmeister

rpe = schulmeister.RPE()                     # melanin power-law
choroid = schulmeister.Choroid()             # melanin + blood composite
henles = schulmeister.HenlesFiberLayer()     # macular pigment

wavelength = Q_(532, "nm")
print(rpe(wavelength))
print(choroid(wavelength))
print(henles(wavelength))

Ocular Transmission

CIE 203 (2012) — tabulated

from tissue_properties.optical.ocular_transmission import cie203

total = cie203.TotalTransmission()
direct = cie203.DirectTransmission()

wavelength = Q_(532, "nm")
print(total(wavelength))             # dimensionless fraction
print(total(wavelength).to("percent"))
print(direct(wavelength))

Mainster (1970) — tabulated, 400–1400 nm

from tissue_properties.optical.ocular_transmission import mainster

transmission = mainster.Transmission()

print(transmission("532 nm"))
print(transmission("1064 nm"))

Schulmeister (2017) — effective transmission

Accounts for scattered light reaching the retina for finite beam spot sizes. As spot_size → ∞ the result approaches total transmission; as spot_size → 0 it approaches direct transmission.

from tissue_properties.optical.ocular_transmission import schulmeister

T_eff = schulmeister.EffectiveTransmission()

wavelength = Q_(532, "nm")
print(T_eff(wavelength, Q_(0, "um")))       # zero spot → ~direct transmission
print(T_eff(wavelength, Q_(200, "um")))     # typical focused beam
print(T_eff(wavelength, Q_(10000, "um")))   # large spot → ~total transmission

Refractive Index

Navarro (1985) — analytic Herzberger dispersion

Four ocular media components from Navarro, Santamaría & Bescós, JOSA A 2(8), 1985.

from tissue_properties.optical.refractive_index import navarro

cornea = navarro.Cornea()
aqueous = navarro.Aqueous()
lens = navarro.Lens()
vitreous = navarro.Vitreous()

wavelength = Q_(550, "nm")
print(cornea(wavelength))
print(aqueous(wavelength))
print(lens(wavelength))
print(vitreous(wavelength))

Vincelette (2008) — Sellmeier formula for reduced eye

Validated for the 1150–1350 nm near-infrared region (Vincelette et al., JBO 13, 2008).

from tissue_properties.optical.refractive_index import vincelette

reduced_eye = vincelette.ReducedEye()

print(reduced_eye("1064 nm"))
print(reduced_eye("1200 nm"))

Download files

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

Source Distribution

tissue_properties-0.4.0.tar.gz (79.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tissue_properties-0.4.0-py3-none-any.whl (80.2 kB view details)

Uploaded Python 3

File details

Details for the file tissue_properties-0.4.0.tar.gz.

File metadata

  • Download URL: tissue_properties-0.4.0.tar.gz
  • Upload date:
  • Size: 79.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for tissue_properties-0.4.0.tar.gz
Algorithm Hash digest
SHA256 ea26bbfc335ef031276ddd0c3a7c59646d020b060fcb3724fcdc957e8c382086
MD5 8c9a74cd9b0d8268102c6783884781ac
BLAKE2b-256 1e2217fc36d6e4f94d9081036ebb7df87f602c666934b5d1287ee84a82298bf3

See more details on using hashes here.

File details

Details for the file tissue_properties-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: tissue_properties-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 80.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for tissue_properties-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bfe68afeb203589214a5ea334e8bf2d994e3e69783d85ff70b14680b69f066d4
MD5 bbaa7065447f49aa13698bfc80bb2bde
BLAKE2b-256 9c12e7e241240aa9ec3390900a1f37f45a60b5c9224e7d9837a75df8348114ae

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.1

2 files

Supported by

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