@@ -10,7 +10,7 @@ that can be assembled with the `@parameters` macro.
1010- `T₂::T`: Transverse relaxation time constant in **seconds**.
1111- `B₁::T`: Relative transmit B₁ field scaling factor (dimensionless, typically around 1.0).
1212- `B₀::T`: Off-resonance frequency in **Hz** (Hertz).
13- - `D::T`: Diffusion value: the TR/TD as used in https://doi.org/10.1002/nbm.5044
13+ - `D::T`: Diffusion value: the TR/TD as used in https://doi.org/10.1002/nbm.5044
1414 (dimensionless: "the amount of dispersion per TR at state=1")
1515- `ρˣ::T`: Real part of proton density or equilibrium magnetization M₀
1616 (arbitrary units, dimensionless scaling factor).
@@ -170,7 +170,7 @@ hasD(::AbstractTissueProperties) = false
170170for P in subtypes (AbstractTissueProperties)
171171 @eval hasB₁ (:: $ (P)) = $ (:B₁ ∈ fieldnames (P))
172172 @eval hasB₀ (:: $ (P)) = $ (:B₀ ∈ fieldnames (P))
173- @eval hasD (:: $ (P)) = $ (:D ∈ fieldnames (P))
173+ @eval hasD (:: $ (P)) = $ (:D ∈ fieldnames (P))
174174end
175175
176176# Programatically export all subtypes of AbstractTissueProperties
@@ -240,6 +240,7 @@ const T1T2D = T₁T₂D
240240const T1T2B1 = T₁T₂B₁
241241const T1T2B1D = T₁T₂B₁D
242242const T1T2B0 = T₁T₂B₀
243+ const T1T2B0D = T₁T₂B₀D
243244const T1T2B1B0 = T₁T₂B₁B₀
244245const T1T2B1B0D = T₁T₂B₁B₀D
245246
@@ -248,8 +249,9 @@ const T1T2DPDxPDy = T₁T₂Dρˣρʸ
248249const T1T2B1PDxPDy = T₁T₂B₁ρˣρʸ
249250const T1T2B1DPDxPDy = T₁T₂B₁Dρˣρʸ
250251const T1T2B0PDxPDy = T₁T₂B₀ρˣρʸ
252+ const T1T2B0DPDxPDy = T₁T₂B₀Dρˣρʸ
251253const T1T2B1B0PDxPDy = T₁T₂B₁B₀ρˣρʸ
252254const T1T2B1B0DPDxPDy = T₁T₂B₁B₀Dρˣρʸ
253255
254256# To perform simulations for multiple voxels, we store the tissue properties in a `StructArray` which we refer to as the `SimulationParameters`.
255- const SimulationParameters = StructArray{<: AbstractTissueProperties }
257+ const SimulationParameters = StructArray{<: AbstractTissueProperties }
0 commit comments