示例#1
0
 def __init__(self, memory, instructions_per_frame, hdd):
     self._memory = memory
     self._instructions_per_frame = instructions_per_frame
     self._memory_size = self._memory.size()
     self._frames = []
     self.generate_frames()
     self._frame_manager = FrameManager(self._frames, hdd)
     self._page_creator = PageCreator()
示例#2
0
class Paging:

    def __init__(self, memory, instructions_per_frame, hdd):
        self._memory = memory
        self._instructions_per_frame = instructions_per_frame
        self._memory_size = self._memory.size()
        self._frames = []
        self.generate_frames()
        self._frame_manager = FrameManager(self._frames, hdd)
        self._page_creator = PageCreator()

    def get_amount_of_frames(self):
        return len(self._frames)

    def generate_frames(self):
        can_create = self._memory_size % self._instructions_per_frame == 0
        if can_create:
            index = 0
            print("Creating frames...")
            for split in xrange(0, self._memory_size, self._instructions_per_frame):
                self._frames.append(Frame(index, split, split + self._instructions_per_frame - 1))
                index += 1

    def assign_to_memory(self, pcb):
        if not pcb.get_info_holder().is_holding():
            self._page_creator.create(pcb, self._instructions_per_frame)
        policy_result = self._frame_manager.assign_page_to_frame(pcb)
        return policy_result

    def get_amount_of_free_frames(self):
        return len(filter(lambda f: not f.is_in_use(), self._frames))

    def set_memory_manager(self, memory_manager):
        self._memory_manager = memory_manager

    def get_info_holder(self, program):
        return PageHolder(program)
示例#3
0
    VizUtils.quickDisplayOrtho("MainWindow", points, StandardBody.standardColors)

def visualizeFrame(rgb):
    #First, resize to 512 x 424
    resized = cv2.resize(rgb, (424, 512))
    cv2.imshow("Frame", resized)
    cv2.waitKey(10)

sequenceRoot = sys.argv[1]
rootDirector = RootDirector(sequenceRoot)

for recordingName in rootDirector.getPeopleRecordingNames():
    recordingPath = os.path.join(rootDirector.getDirectoryPath(), recordingName)
    #Look inside the autoLabels path there
    autoLabelsPath = os.path.join(recordingPath, "autoLabels")
    recordingZeroCamPath = os.path.join(recordingPath, "0")
    frameManager = FrameManager(recordingZeroCamPath)
    subs = os.listdir(autoLabelsPath)
    subs.sort()
    for sub in subs:
        full = os.path.join(autoLabelsPath, sub)
        labelReader = AutoLabelReader(full)
        N = labelReader.getNumLabels()
        for i in range(N):
            points = labelReader.getLabel(i)
            timestamp = labelReader.getTimestamp(i)
            while (frameManager.getViewTime() < timestamp):
                frameManager.tryAdvance(1)
            visualizeFrame(frameManager.getFrame().getRGB())
            visualizePoints(points)
示例#4
0
    return A[np.random.choice(A.shape[0], num_rows, replace=False)]


if __name__ == '__main__':
    sequenceRootRoot = sys.argv[1]
    emptySequenceDirs = [
        y for x in os.walk(sequenceRootRoot)
        for y in glob(os.path.join(x[0], '*empty*/'))
    ]
    cameraLabels = ["0", "1", "2"]
    rgbFrames = []
    for sequenceDir in emptySequenceDirs:
        for cam in cameraLabels:
            fullPath = os.path.join(sequenceDir, cam)
            if (os.path.isdir(fullPath)):
                frameManager = FrameManager(fullPath)
                LIMIT = 20
                i = 0
                while True:
                    frame = frameManager.getFrame()
                    #Great -- take all of the
                    i += 1
                    if (i == LIMIT):
                        rgbFrames.append(frame.getRGB())
                        break
                    advanced = frameManager.tryAdvance(1)
                    if (not advanced):
                        break

    rgbFrames = np.reshape(np.array(rgbFrames),
                           (-1, 3)).astype(np.float32) / 255.0
示例#5
0

def visualize(X, ax):
    plt.cla()
    ax.scatter(X[:, 0], X[:, 1], X[:, 2], color='red', label='Colors')
    plt.draw()
    plt.pause(0.001)


def randomRows(A, num):
    return A[np.random.choice(A.shape[0], num, replace=False), :]


sequenceRoot = sys.argv[1]

frameManager = FrameManager(sequenceRoot)

colorCollection = []

keepRows = 50

visited = 0

while True:
    frame = frameManager.getFrame()
    rgb = frame.getRGB()

    #rgb = cv2.GaussianBlur(rgb, (11, 11), 5)
    hsv = cv2.cvtColor(rgb, cv2.COLOR_BGR2HSV)
    reshaped = hsv.reshape(-1, hsv.shape[-1])
示例#6
0
 def OnInit(self):
     self.manager = FrameManager.GuiManager(self.UpdateUI)
     self.frame = self.manager.GetFrame(0)
     self.frame.Show()
     return True