neurodec.mdt.ElectrodeBracelet#

class neurodec.mdt.ElectrodeBracelet(dictionary: dict)#

A bracelet of electrodes

property id: int#

Returns the ID of the object

classmethod new(skin: Surface, radius: float, first_electrode_location: ArrayLike, rings_normal: ArrayLike, n_rings: int, distance_between_rings: float, n_electrodes_per_ring: int, distance_between_electrodes: Optional[float] = None, force_computation: bool = False) ElectrodeBracelet#

Generate a bracelet of electrodes on the given surface.

A bracelet is a series of electrodes arranged in multiple rings that should wrap around the given surface.

Parameters
  • skin – A Surface object with type SKIN where the electrodes will be placed.

  • radius – Radius of an electrode. The same value is used for all electrodes in the bracelet.

  • first_electrode_location – A numpy array containing 3D coordinates of the first electrode of the first ring. Does not have to be precisely on the skin mesh - the point will be projected onto it.

  • rings_normal – A numpy array containing the direction of the normal vector defining the bracelet section planes. Note, that all the rings have the same normal vector.

  • n_rings – The number of electrode rings in the bracelet. If larger than 1, the initial bracelet plan is shifted in the direction of the normal vector for a distance distance_between_rings.

  • distance_between_rings – Distance between electrode rings in the bracelet, in meters. Note, that all the rings are equidistant.

  • n_electrodes_per_ring – The number of electrodes in rings. The electrodes are ordered in a clockwise direction with respect to the rings_normal. If the distance_between_rings parameter is 0, all the rings will have the same number of electrodes uniformly covering the corresponding section circumferences. It will likely result in different inter electrode distances for different rings.

  • distance_between_electrodes – The distance between electrodes in a ring, in meters. If not None, will generate equidistant in a clockwise direction starting from the first_electrode_location.

  • force_computation – Boolean flag that allows to bypass a status check. Normally, the API would check if an object with the requested parameters was already present in the database. If this was the case, the API would not request its computation and would simply return its identifier. By setting this flag to True, the user can bypass this logic and force the computation of the resource even if it existed already. The main reason is to allow starting a calculation again in case of unexpected errors.

property status: Status#

Returns the up-to-date status of the object, by performing an API request.

wait()#

Wait for the object to be ready