docs: def get_octahedra(self, atoms, periodicity=3):
          '''
          Extract octahedra as lists of sequence numbers of corner atoms
          '''
          octahedra = []
          for n, i in enumerate(atoms):
              found = []
              if i.symbol in Perovskite_Structure.B:
                  for m, j in enumerate(self.virtual_atoms):
                      if j.symbol in Perovskite_Structure.C and self.virtual_atoms.get_distance(n, m) <= self.OCTAHEDRON_BOND_LENGTH_LIMIT:
                          found.append(m)
  
              if (periodicity == 3 and len(found) == 6) or (periodicity == 2 and len(found) in [5, 6]):
                  octahedra.append([n, found])
  
          if not len(octahedra): raise ModuleError("Cannot extract valid octahedra: not enough corner atoms found!")
          return octahedra