nummerical errors in static_cartesian_SEEPI_shepp
Short description of expected behaviour: Non zero phase in static_cartesian_SEEPI_shepp.ipynb.
Minimally working example:
properties = {"M0": uniform_grid["M0"].astype(np.float32),
"T1": uniform_grid["T1"].astype(np.float32),
"T2": uniform_grid["T2"].astype(np.float32),
"magnetization": part_factory.norm_magnetization()(x*y*z),
"initial_position": uniform_grid.points.astype(np.float32)
}
input_dataset = cmrsim.datasets.BlochDataset(properties, filter_inputs=True)
surface_mesh = uniform_grid.threshold(0.1, scalars="M0")
Solution:
properties = {"M0": uniform_grid["M0"].astype(np.float32),
"T1": uniform_grid["T1"].astype(np.float32),
"T2": uniform_grid["T2"].astype(np.float32),
"magnetization": part_factory.norm_magnetization()(x*y*z),
"initial_position": uniform_grid.points.astype(np.float32) + np.random.normal(0, 0.0002, uniform_grid.points.shape).astype(np.float32)
}
# select in slice particles
in_slice = np.where(np.abs(properties["initial_position"][:, 2]) < 0.011)
properties = {k: v[in_slice, ...][0] for k, v in properties.items()}
input_dataset = cmrsim.datasets.BlochDataset(properties, filter_inputs=True)
surface_mesh = uniform_grid.threshold(0.1, scalars="M0")