Пример #1
0
 def setPixelVisibility(points):
     pixels = []
     firstInvPixels = []
     lastInvPixels = []
     visiblePixels = []
     if points[0] in Amputation.visibleArea:
         for p in points:
             if p in Amputation.visibleArea:
                 visiblePixels.append(p)
             else:
                 lastInvPixels.append(p)
     else:
         i = 0
         for p in points:
             if p in Amputation.visibleArea:
                 i = 1
                 visiblePixels.append(p)
             elif i < 1:
                 firstInvPixels.append(p)
             else:
                 lastInvPixels.append(p)
     pixels += convert(firstInvPixels)
     pixels += convert(visiblePixels, color=Colors.green)
     pixels += convert(lastInvPixels)
     return pixels
 def blower(self, position):
     if position == 0:
         ret = self.end_effector.send(
             convert(DATA(EIG.OFF_BLOWER, position)))
         print(ret)
         return ret[0]
     else:
         ret = self.end_effector.send(convert(DATA(EIG.ON_BLOWER,
                                                   position)))
         print(ret)
         return ret[0]
 def vacuum_granular(self, position):
     if position == 0:
         ret = self.end_effector.send(
             convert(DATA(EIG.OFF_GRANULAR_VACUUM, position)))
         print(ret)
         return ret[0]
     else:
         ret = self.end_effector.send(
             convert(DATA(EIG.ON_GRANULAR_VACUUM, position)))
         print(ret)
         return ret[0]
 def vacuum_solid(self, position):
     if position == 0:
         ret = self.end_effector.send(
             convert(DATA(EIG.OFF_CYLINDER_VACUUM, position)))
         print(ret)
         return ret[0]
     else:
         ret = self.end_effector.send(
             convert(DATA(EIG.ON_CYLINDER_VACUUM, position)))
         print(ret)
         return ret[0]
 def move_cylinder(self, position):
     """
     :param position: maximum value is 13000
     :return:
     """
     if position > EIG.MAX_CYLINDER:
         print(
             f'invalid position : {position} is more than maximum position')
         position = EIG.MAX_CYLINDER
         self.end_effector.send(
             convert(DATA(EIG.MOVE_CYLINDER_MOTOR, position)))
     ret = self.end_effector.send(
         convert(DATA(EIG.MOVE_CYLINDER_MOTOR, position)))
     print(ret)
     return ret[0]
Пример #6
0
 def drawDDA(self, points = []):
     if not points:
         points =  self.__scene.getEndingPointsPos()
     while len(points) >= CDA.getMinPointsCount():
         self.__pixelsToDraw  += convert(CDA.getPixels(points))
         points.pop(0)
     self.__drawPixels()
Пример #7
0
    def start(self):
        self.env.act(0)
        obs = convert(self.env.getScreenGrayscale())
        self.state = np.stack([[obs for _ in range(4)]], axis=0)
        self.t_alive = 0
        self.total_reward = 0

        return self.state
Пример #8
0
 def drawBresenham(self,points = []):
     self.__tmp = []
     if not points:
         points =  self.__scene.getEndingPointsPos()
     while len(points) >= Bresenham.getMinPointsCount():
         self.__tmp += Bresenham.getPixels(points)
         self.__pixelsToDraw += convert(Bresenham.getPixels(points))
         points.pop(0)
     self.__drawPixels()
Пример #9
0
 def drawLineFilling(self):
     points = self.__scene.getEndingPointsPos()
     vertexes = list(points)
     points.append(points[0])
     self.drawBresenham(points)
     pixels = LineFilling.getPixels(vertexes, self.__tmp)
     self.__pixelsToDraw += convert(pixels, color=Colors.blue)
     self.__pixelsToDraw.reverse()
     self.__drawPixels()
    def save(self, *args, **kwargs):
        if not self.pk:
            self.status = Status.objects.get(name='Pending')

        self.slug = slugify(self.name)
        self.size = round(self.audio_file.size/(1024*1024),2)
        self.filetype = self.audio_file.name.split('.')[-1]
        self.duration = convert(int(getattr_recursive(mutagen.File(self.audio_file), ['info', 'length'])))
        super(Library, self).save(*args, **kwargs)
Пример #11
0
 def drawFill(self):
     fillPoint = None
     points = self.__scene.getEndingPointsPos()
     if len(points) > 1:
         fillPoint = points.pop()
     points.append(points[0])
     self.drawBresenham(points)
     pixels = Fill.getPixels(fillPoint or points[0],self.__tmp)
     self.__pixelsToDraw += convert(pixels, color=Colors.blue)
     self.__pixelsToDraw.reverse()
     self.__drawPixels()
Пример #12
0
 def move_granular(self, position):
     """
     :param position: maximum value is 9000
     :return:
     """
     if position > EIG.MAX_GRANULAR:
         print(
             f'invalid position : {position} is more than maximum position')
         position = EIG.MAX_GRANULAR
     ret = self.end_effector.send(
         convert(DATA(EIG.MOVE_GRANULAR_MOTOR, position)))
     print(ret)
     return ret[0]
Пример #13
0
    def step(self, action):

        reward = self.env.act(self.action_set[action])

        # make next state
        obs = convert(self.env.getScreenGrayscale())
        obs = np.reshape(obs, [1, 1, obs.shape[0], obs.shape[1]])
        next_state = np.append(self.state[:, 1:, ...], obs, axis=1)

        self.t_alive += 1
        self.total_reward += reward
        self.state = next_state

        return self.state, reward, self.env.game_over()
Пример #14
0
    def move_syringe(self, position):
        """
        :param position: maximum value is 13000
        :return:
        """

        if position > EIG.MAX_SYRINGE:
            print(
                f'invalid position : {position} is more than maximum position')
            position = EIG.MAX_SYRINGE

        ret = self.end_effector.send(
            convert(DATA(EIG.MOVE_PULLER_MOTOR, position)))
        print(ret)
        return ret[0]
Пример #15
0
 def drawParabola(self):
     points = self.__scene.getEndingPointsPos()
     self.__pixelsToDraw += convert(Parabola.getPixels(points))
     self.__pixelsToDraw.reverse()
     self.__drawPixels()
Пример #16
0
 def drawCircle(self):
     points =  self.__scene.getEndingPointsPos()
     self.__pixelsToDraw += convert(Circle.getPixels(points))
     self.__drawPixels()