Scanner

from mcot.dippi.scan import Scanner
class mcot.dippi.scan.Scanner(gyro_magnetic_ratio: float = 267.5, anisotropic_susceptibility: float = - 100, B0: float = 7.0, max_gradient: float = 80.0, slew_rate: float = 200.0, t_pulse: float = 5.0, t_ro: float = 50.0)[source]

Scanner properties relevant for running a DIPPI sequence.

It also defines some of the relevant physical constants (i.e., gyro_magnetic_ratio and anisotropy_susceptibility).

These are used to compute realistic echo times for the readouts given a b-value for simulated data (see SimulatedShell). For actual observed data, these echo times should be known and only the physical constants will be used (see ObservedShell).

__init__(gyro_magnetic_ratio: float = 267.5, anisotropic_susceptibility: float = - 100, B0: float = 7.0, max_gradient: float = 80.0, slew_rate: float = 200.0, t_pulse: float = 5.0, t_ro: float = 50.0) None

Inheritance diagram

digraph inheritance57e4ca8fb4 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "abc.ABC" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Helper class that provides a standard way to create an ABC using"]; "dataclasses_json.api.DataClassJsonMixin" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="DataClassJsonMixin is an ABC that functions as a Mixin."]; "abc.ABC" -> "dataclasses_json.api.DataClassJsonMixin" [arrowsize=0.5,style="setlinewidth(0.5)"]; "mcot.dippi.scan.Scanner" [URL="#mcot.dippi.scan.Scanner",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Scanner properties relevant for running a DIPPI sequence."]; "dataclasses_json.api.DataClassJsonMixin" -> "mcot.dippi.scan.Scanner" [arrowsize=0.5,style="setlinewidth(0.5)"]; }

Methods

from_dict(kvs, *[, infer_missing])

from_json(s, *[, parse_float, parse_int, ...])

intra_axonal_frequency(g_ratio, angle_b0)

Computes the frequency within an axon in rad/ms

schema(*[, infer_missing, only, exclude, ...])

to_dict([encode_json])

to_json(*[, skipkeys, ensure_ascii, ...])

Attributes

B0

strength of the magnetic field

anisotropic_susceptibility

anisotropic susceptibility of myelin in ppb

dataclass_json_config

gyro_magnetic_ratio

Precession speed in rad/ms/mT

larmor_frequency

Larmor frequency in rad/ms

max_gradient

maximum gradient strength in mT/m

slew_rate

maximum slew rate in mT/m/ms

t_pulse

Duration of the excitation and refocus pulses in ms

t_ro

Duration of the readout in ms

from_dict

classmethod Scanner.from_dict(kvs: Optional[Union[dict, list, str, int, float, bool]], *, infer_missing=False) dataclasses_json.api.A

from_json

classmethod Scanner.from_json(s: Union[str, bytes, bytearray], *, parse_float=None, parse_int=None, parse_constant=None, infer_missing=False, **kw) dataclasses_json.api.A

intra_axonal_frequency

Scanner.intra_axonal_frequency(g_ratio, angle_b0)[source]

Computes the frequency within an axon in rad/ms

Parameters
  • g_ratio – g-ratio of the axon

  • angle_b0 – angle between the axon the main magnetic field

schema

classmethod Scanner.schema(*, infer_missing: bool = False, only=None, exclude=(), many: bool = False, context=None, load_only=(), dump_only=(), partial: bool = False, unknown=None) dataclasses_json.mm.SchemaF[dataclasses_json.mm.A]

to_dict

Scanner.to_dict(encode_json=False) Dict[str, Optional[Union[dict, list, str, int, float, bool]]]

to_json

Scanner.to_json(*, skipkeys: bool = False, ensure_ascii: bool = True, check_circular: bool = True, allow_nan: bool = True, indent: Optional[Union[int, str]] = None, separators: Optional[Tuple[str, str]] = None, default: Optional[Callable] = None, sort_keys: bool = False, **kw) str