def dijkstra(self, source):
        if self.oriented is False:
            print 'cannot apply dijstra, graph is not oriented'
            return
        if len(self.costs[self.costs < 0]) > 0:
            print 'cannot apply dijstra, graph contains negative cost edges'
            return

        big_q = np.arange(self.n)
        dist = np.empty((self.n), dtype=np.float32)
        dist[:] = np.finfo(np.float32()).max
        prev = np.empty((self.n), dtype=np.object)
        prev[:] = None
        prev[source] = source
        dist[source] = 0
        while len(big_q) > 0:
            u_i = np.argmin(dist[big_q])
            u = big_q[u_i]
            big_q = np.delete(big_q, u_i)
            for v in [v for v in self.FSs[u] if v in big_q]:
                alt = dist[u] + \
                    self.FS_costs[u][np.where(self.FSs[u] == v)[0][0]]
                if alt < dist[v]:
                    dist[v] = alt
                    prev[v] = u
        edges, prev = self.fix_unheaded_edges(prev)
        return edges
This method should disable the monitor.
dataset/ETHPy150Open dnlcrl/PyGraphArt/src/graph.py/Graph.dijkstra--crossover with--dataset/ETHPy150Open enthought/pikos/pikos/monitors/monitor.py/Monitor.disable