Source code for ossdbs.dielectric_model.colecole3

# Copyright 2023, 2024 Konstantin Butenko, Julius Zimmermann
# SPDX-License-Identifier: GPL-3.0-or-later

import numpy as np

from .colecole4 import ColeCole4Model, ColeColeParameters

WhiteMatterColeCole3Default = ColeColeParameters(
    alpha=np.array([0.1, 0.1, 0.3]),
    eps_delta=np.array([32.0, 100.0, 4.0e4]),
    eps_inf=4.0,
    sigma=0.265,
    tau=np.array([7.958e-12, 7.958e-9, 53.052e-6]),
)

GrayMatterColeCole3Default = ColeColeParameters(
    alpha=np.array([0.1, 0.15, 0.22]),
    eps_delta=np.array([45.0, 400.0, 2.0e5]),
    eps_inf=4.0,
    sigma=0.239,
    tau=np.array([7.958e-12, 15.915e-9, 106.103e-6]),
)

CSFColeCole3Default = ColeColeParameters(
    alpha=np.array([0.1, 0.0, 0.0]),
    eps_delta=np.array([65.0, 40.0, 0.0]),
    eps_inf=4.0,
    sigma=2.0,
    tau=np.array([7.96e-12, 1.592e-9, 159.155e-6]),
)


BloodColeCole3Default = ColeColeParameters(
    alpha=np.array([0.1, 0.1, 0.0]),
    eps_delta=np.array([56.0, 5200.0, 0.0]),
    eps_inf=4.0,
    sigma=0.7,
    tau=np.array([8.38e-12, 132.63e-9, 0]),
)

default_cole_cole3_parameters = {
    "Gray matter": GrayMatterColeCole3Default,
    "Unknown": GrayMatterColeCole3Default,
    "White matter": WhiteMatterColeCole3Default,
    "CSF": CSFColeCole3Default,
    "Blood": BloodColeCole3Default,
}


[docs]class ColeCole3Model(ColeCole4Model): """Cole-Cole model with three dispersions. Notes ----- The model values are chosen as described in [Zimmermann2021]_. References ---------- .. [Zimmermann2021] Zimmermann, J. and van Rienen, U. (2021) Ambiguity in the interpretation of the low-frequency dielectric properties of biological tissues. Bioelectrochemistry, 140, 107773. dx.doi.org/10.1016/j.bioelechem.2021.107773 """ def __init__(self, parameters: ColeColeParameters): self._parameters = parameters if not self._parameters.assert_order(3): raise ValueError( "ColeCole3Model requires information about three dispersions" )