Mapping Neurons¶
Fragment Generation¶
-
class
brainlit.map_neurons.
DiffeomorphismAction
[source]¶ Interface for differentiable mappings e.g. transformations that register a brain image to an atlas.
-
D
(self, position: np.array, deriv: np.array, order: int = 1)[source]¶ Evaluate the mapping on a set of derivatives at specified positions.
- Parameters
position (np.array) -- Coordinates in the original space.
deriv (np.array) -- Derivatives at the respective positions
order (int, optional) -- Derivative order. Defaults to 1.
- Returns
Transformed derivatives.
- Return type
np.array
-
-
class
brainlit.map_neurons.
CloudReg_Transform
(vpath: str, Apath: str, direction: str = 'atlas')[source]¶ Object that can read mat files from CloudReg, and compute transformations on points and Jacobians. Implements DiffeomorphismAction which is an interface to transform points and tangent vectors.
-
D
(self, position: np.array, deriv: np.array, order: int = 1)[source]¶ Compute transformed derivatives of mapping at given positions. Only for the non-affine component.
- Parameters
position (np.array) -- nx3 positions at which to compute derivatives.
deriv (np.array) -- nx3 derivatives at the respective positions.
order (int, optional) -- Order of derivative (must be 1). Defaults to 1.
- Raises
ValueError -- Only derivative order 1 is allowed here.
- Returns
Transformed derivatives
- Return type
np.array
-
Jacobian
(self, pos: np.array)[source]¶ Compute Jacobian of transformation at a given point.
- Parameters
pos (np.array) -- Coordinate in space.
- Returns
Jacobian at that coordinate
- Return type
np.array
-
-
brainlit.map_neurons.
compute_derivs
(us: np.array, tck: tuple = None, positions: np.array = None, deriv_method: str = 'difference')[source]¶ Estimate derivatives of a sequence of points. Derivatives can be estimated in three ways: - For curves parameterized by scipy's spline API, spline estimation uses scipy's derivative computation - For a sequence of points, we use the finite-difference method from:
Sundqvist, H., & Veronis, G. (1970). A simple finite‐difference grid with non‐constant intervals. Tellus, 22(1), 26-31.
one-sided derivatives are derived from the piecewise linear interpolation.
- Parameters
us (np.array) -- Parameter values (in form returned by scipy.interpolate.splprep).
tck (tuple) -- Knots, bspline coefficients, and degree of spline (in form returned by scipy.interpolate.splprep).
positions (np.array) -- nx3 array of positions (for use by difference method).
deriv_method (str, optional) -- Method to use (from list above), spline for scipy.interpolate.splev, difference for the finite difference method, two-sided for one-sided derivatives from linear interpolation. Defaults to "difference".
- Raises
ValueError -- If the wrong combination of arguments/deriv_method is used.
ValueError -- If derivative method is unrecognized.
- Returns
Derivative estimates at specified positions, or tuple of np.array for two-sided option.
- Return type
np.array