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

evaluate(self, position: np.array)[source]

Evaluate the mapping at specified positions.

Parameters

position (np.array) -- Coordinates in original space.

Returns

Transformed coordinates.

Return type

np.array

class brainlit.map_neurons.Diffeomorphism_Transform(points, values)[source]

Object that takes a discrete vector field and creates a continuous one which can also give derivative (Jacobian) information. Implements DiffeomorphismAction which is an interface to transform points and tangent vectors.

D(self, positions: np.array, derivs: np.array, order: int = 1, verbose=False)[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]

Evaluate the diffeomorphism's Jacobian at the given position.

Parameters

position (np.array) -- Coordinate location. Shape (3,).

Returns

Jacobian matrix of diffeomorphism at given location. Shape (3,3,).

Return type

np.array

evaluate(self, position)[source]

Evaluate the new coordinate at the given position.

Parameters

position (np.array) -- Original coordinate location. Shape (3,).

Returns

New coordinate location under diffeomorphism. Shape (3,).

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

apply_affine(self, position: np.array)[source]

Apply affine transformation in the transformation of positions in target space to atlas space.

Parameters

position (np.array) -- nx3 array with positions in target space.

Returns

positions after affine transformation was applied.

Return type

np.array

evaluate(self, position: np.array)[source]

Apply non-affine component of mapping to positions, in direction of self.direction (default from target to atlas).

Parameters

position (np.array) -- Positions at which to compute mappings.

Returns

Mappings of the input.

Return type

np.array

brainlit.map_neurons.diffeo_gen_ara(sigma)[source]

Return random diffeomorphism generated by sampling Gaussian noise then passing through Riemannian exponential.

Parameters

sigma (float) -- standard deviation of noise in microns.

Returns

list of sampled points in spatial domain. np.array: range of diffeomorphism at sampled points.

Return type

List