calc_transitions

qdflow.generate.calc_transitions(dot_charges, are_dots_combined)

Calculates the locations and types of transitions in a CSD.

A transition is defined to be present at a pixel if it has a charge state that varies from any of its adjacent neighbors. However, a merged dot splitting apart without any charges moving is not counted as a transition.

Parameters:
  • dot_charges (ndarray[int]) – An array with shape (csd_x, [...,] n_dots) indicating how many electrons are in each dot. In the case of combined dots, the total number of charges should be entered in the left-most slot, with the other slots padded with zeros.

  • are_dots_combined (ndarray[bool]) – An array with shape (csd_x, [...,] n_dots-1), indicating whether the dots on either side of each barrier are combined together.

Returns:

  • is_transition (ndarray[bool]) – An array with shape (csd_x, [...,] n_dots) indicating whether a transition is present in a particular dot. A transition occurs at a particular pixel and dot if the number of charges in that dot differ in any adjecent pixels.

  • is_transition_combined (ndarray[bool]) – An array with shape (csd_x, [...,] n_dots-1) indicating whether there is a transition in a combined dot on either side of a particular barrier.