def __init__(self):
     self.parameters = ParametersManager()
     self.image_manager = ImageManager()
     self.segments_manager = SegmentsManager()
     self.cells_manager = None
     self.fret_manager = FRETManager()
     self.reports_manager = ReportsManager(self.parameters)
     self.control_params = None
     self.working_dir = None
Example #2
0
 def __init__(self, pos, screen, index):
     filename = os.path.join('data','T_trees2','trees2 tileset.bmp')
     ImageManager().loadStatic(filename, 'Tree2')
     tileset = ImageManager().getStatic('Tree2')
     self.image = pygame.Surface((128,128))
     x,y = 128*(index % 4), 128*int(index / 4)
     self.image.blit(tileset, (0,0), pygame.Rect(x,y,128,128))
     self.image.set_colorkey(self.image.get_at((0,0)))
     self.rect = self.image.get_rect()
     Stat.__init__(self, pos, screen)
class CoLoc(object):
    """Placeholder"""

    def __init__(self):
        self.image_manager = ImageManager()
        self.cell_manager = CellManager()
        self.coloc_processor = CoLocProcessor()
        self.reports_manager = ReportsManager()
        self.cell_picker = CellPicker()

    def load_images(self):
        """Placeholder"""

        self.image_manager.load_images()

    def create_mask(self):
        """Placeholder"""

        self.image_manager.create_cells_mask()

    def process_cells(self):
        """Placeholder"""

        self.cell_manager.process_cells(self.image_manager.cells_mask)

    def pearsons_test(self):
        """Placeholder"""

        self.coloc_processor.pearsons_test(self.image_manager, self.cell_manager)

    def pearsons_test_percentile(self):
        """Placeholder"""

        self.coloc_processor.cell_pearsons_test_percentile(self.image_manager,
                                                           self.cell_manager,
                                                           0.3)

    def select_cells(self):

        self.cell_picker.select_cells(self.cell_manager)

    def generate_pearsons_report(self):
        """Placeholder"""

        self.reports_manager.pearsons_report(self.image_manager, self.cell_manager,
                                             self.coloc_processor)

    def generate_pearsons_report_percentile(self):
        """Placeholder"""

        self.reports_manager.pearsons_report_percentile(self.image_manager,
                                                        self.cell_manager,
                                                        self.coloc_processor)
Example #4
0
class Bullet:
    def __init__(self, screen, site, nature):
        self.site = site
        self.screen = screen
        self.nature = nature
        self.imagemanager = ImageManager()

    def move(self):
        if self.nature == 'plane':
            self.site[1] = self.site[1] - 0.5  #元组不支持修改删除
        elif self.nature == 'enemy':
            self.site[1] += 0.5

    def show(self):
        if self.nature == 'plane':
            self.screen.blit(self.imagemanager.get_plane_bullet(),
                             (USIZE * self.site[0], USIZE * self.site[1]))
        elif self.nature == 'enemy':
            self.screen.blit(self.imagemanager.get_enemy_bullet(),
                             (USIZE * self.site[0], USIZE * self.site[1]))
Example #5
0
class Enemy:
    def __init__(self, screen, site):
        self.screen = screen
        self.site = site
        self.imagemanager = ImageManager()

    def move(self):
        self.site[1] += 0.2

    def show(self):
        self.screen.blit(self.imagemanager.get_enemy(),
                         (USIZE * self.site[0], USIZE * self.site[1]))
Example #6
0
class Parachute:
    def __init__(self, screen, site):
        self.screen = screen
        self.site = site
        self.imagemanager = ImageManager()

    def move(self):
        self.site[1] += 0.4

    def show(self):
        self.screen.blit(self.imagemanager.get_parachute(),
                         (USIZE * self.site[0], USIZE * self.site[1]))
Example #7
0
    def __init__(self, screen):
        self.screen = screen
        # Sprite groups
        self.AllSprites = depthupdates.DepthUpdates()
        self.Dinos = depthupdates.DepthUpdates()
        self.Ogres = depthupdates.DepthUpdates()
        self.Trees = depthupdates.DepthUpdates()

        # Create background
        grassfile = os.path.join('ReinerLevel', 'data', 'Tgrundvari',
                                 'variationen', '012.bmp')
        ImageManager().loadStatic(grassfile, 'Grass', colorkey=False)
        grassimage = ImageManager().getStatic('Grass')
        self.background = pygame.Surface(screen.get_size())
        for x in range(0, self.background.get_width(), grassimage.get_width()):
            for y in range(0, self.background.get_height(),
                           grassimage.get_height()):
                self.background.blit(grassimage, (x, y))

        # Create game objects
        w, h = self.screen.get_size()
        for i in range(5):
            x, y = randint(0, w - 1), randint(0, h - 1)
            d = Dino((x, y), screen)
            d.speed = randint(0, 5)
            d.heading = randint(0, 7)
            self.Dinos.add(d)
        for i in range(5):
            x, y = randint(0, w - 1), randint(0, h - 1)
            o = Ogre((x, y), screen)
            o.speed = randint(0, 5)
            o.heading = randint(0, 7)
            self.Ogres.add(o)
        for i in range(42):
            x, y = randint(0, w - 1), randint(0, h - 1)
            t = Tree2((x, y), screen, i % 21)
            self.Trees.add(t)
        self.myogre = self.Ogres.sprites()[0]
        self.AllSprites.add(self.Dinos, self.Ogres, self.Trees)
Example #8
0
    def __init__(self, screen):
        self.screen = screen
        # Sprite groups
        self.AllSprites = depthupdates.DepthUpdates()
        self.Dinos = depthupdates.DepthUpdates()
        self.Ogres = depthupdates.DepthUpdates()
        self.Trees = depthupdates.DepthUpdates()

        # Create background
        grassfile = os.path.join('ReinerLevel','data','Tgrundvari','variationen','012.bmp')
        ImageManager().loadStatic(grassfile,'Grass',colorkey=False)
        grassimage = ImageManager().getStatic('Grass')
        self.background = pygame.Surface(screen.get_size())
        for x in range(0,self.background.get_width(),grassimage.get_width()):
            for y in range(0,self.background.get_height(),grassimage.get_height()):
                self.background.blit(grassimage, (x,y))

        # Create game objects
        w,h = self.screen.get_size()
        for i in range(5):
            x,y = randint(0,w-1), randint(0,h-1)
            d = Dino((x,y), screen)
            d.speed = randint(0,5)
            d.heading = randint(0,7)
            self.Dinos.add(d)
        for i in range(5):
            x,y = randint(0,w-1), randint(0,h-1)
            o = Ogre((x,y), screen)
            o.speed = randint(0,5)
            o.heading = randint(0,7)
            self.Ogres.add(o)
        for i in range(42):
            x,y = randint(0,w-1),randint(0,h-1)
            t = Tree2((x,y), screen, i%21)
            self.Trees.add(t)
        self.myogre = self.Ogres.sprites()[0]    
        self.AllSprites.add(self.Dinos, self.Ogres, self.Trees)
Example #9
0
class Plane:
    def __init__(self, screen):
        self.site = [CLOUMNS / 2 - 1, ROWS - 3]
        self.screen = screen
        self.imagemanager = ImageManager()

    def move(self, state):
        if state == 'left' and self.site[0] > 0:
            self.site[0] -= 1
        elif state == 'right' and self.site[0] < CLOUMNS - 2:
            self.site[0] += 1
        else:
            pass

    def shoot(self):
        return Bullet(self.screen, [self.site[0] + 1.5, self.site[1]], 'plane')

    def show1(self):
        self.screen.blit(self.imagemanager.get_plane1(),
                         (USIZE * self.site[0], USIZE * self.site[1]))

    def show2(self):
        self.screen.blit(self.imagemanager.get_plane2(),
                         (USIZE * self.site[0], USIZE * self.site[1]))
Example #10
0
class EnemyKing:
    def __init__(self, screen, site):
        self.screen = screen
        self.site = site
        self.imagemanager = ImageManager()

    def move(self):
        self.site[1] += 0.08

    def show(self, times):
        self.screen.blit(self.imagemanager.get_enemy_king(times),
                         (USIZE * self.site[0], USIZE * self.site[1]))

    def shoot(self):
        return Bullet(self.screen, [self.site[0] + 2.5, self.site[1] + 7],
                      'enemy')
Example #11
0
 def __init__(self):
     pygame.init()
     self.screen = pygame.display.set_mode(size)
     self.soundmanager = SoundManager()
     self.imagemanager = ImageManager()
     self.plane = Plane(self.screen)
     self.STATE = 'waiting'
     self.enemykingexist = False
     self.parachuteexist = False
     self.enemylist = []
     self.bulletlist = []
     self.enemybulletlist = []
     self.score = 0
     self.level = 0
     self.chance = 5
     self.chioce = 0  #select difficulty
     self.degree = DEGREE[self.chioce]
     self.speed = self.degree['initspeed']
     self.enemykingtimes = 0
     self.clock = 0
Example #12
0
def main():
    # Initialize display
    pygame.init()
    #screen_size = (800,600)
    screen = pygame.display.set_mode(screen_size)
    pygame.display.set_caption('Depth updates.')

    # Create background
    grassfile = os.path.join('data','Tgrundvari','variationen','012.bmp')
    ImageManager().loadStatic(grassfile,'Grass',colorkey=False)
    grassimage = ImageManager().getStatic('Grass')
    background = pygame.Surface(screen.get_size())
    for x in range(0,background.get_width(),grassimage.get_width()):
        for y in range(0,background.get_height(),grassimage.get_height()):
            background.blit(grassimage, (x,y))

    # Create game objects
    w,h = screen.get_size()
    for i in range(5):
        x,y = randint(0,w-1), randint(0,h-1)
        d = Dino((x,y), screen)
        d.speed = randint(0,5)
        d.heading = randint(0,7)
        Dinos.add(d)
    for i in range(5):
        x,y = randint(0,w-1), randint(0,h-1)
        o = Ogre((x,y), screen)
        o.speed = randint(0,5)
        o.heading = randint(0,7)
        Ogres.add(o)
    for i in range(20):
        x,y = randint(0,w-1),randint(0,h-1)
        t = Tree2((x,y), screen, i%21)
        Trees.add(t)
    myogre = Ogres.sprites()[0]
    Mobs.add(Dinos, Ogres)
    Stats.add(Trees)
    AllSprites.add(Mobs, Stats)

    # Create clock
    clock = pygame.time.Clock()

    # Game loop
    while 1:
        # Slow game down to 30 fps:
        clock.tick(30)

        # Event queue handling:
        for event in pygame.event.get():
            if event.type == QUIT:
                return
            elif event.type == KEYDOWN:
                if event.key == K_ESCAPE:
                    return
                elif event.key == K_RIGHT:
                    myogre.heading -= 1
                    myogre.heading %= 8
                elif event.key == K_LEFT:
                    myogre.heading += 1
                    myogre.heading %= 8

        # Event polling:
        pressed = pygame.key.get_pressed()
        if pressed[K_UP]:
            myogre.speed = 4.0
        else:
            myogre.speed = 0.0

        # Update:
        AllSprites.update()
        for spr1 in Stats:
            for spr2 in [myogre]:
                if spr1 != spr2:
                    if pygame.Rect.colliderect(spr1.collisionRect,
                                                  spr2.collisionRect):
                        #spr1.backup()
                        spr2.backup()
        # Draw everything:
        screen.blit(background, (0,0))
        red = pygame.Color("red")
        pygame.draw.rect(screen, red, myogre.rect, 1)
        pygame.draw.rect(screen, red, myogre.collisionRect, 1)

        for spr in Stats:
            pygame.draw.rect(screen, red, spr.collisionRect, 1)
        AllSprites.draw(screen)

        pygame.display.flip()
Example #13
0
 def __init__(self, pos, screen):
     folder = os.path.join('ReinerLevel', 'data', 'T_ogre',
                           'ogre 96x bitmaps')
     ImageManager().loadAnimations(folder, 'Ogre')
     animations = ImageManager().getAnimations('Ogre')
     ReinerMob.__init__(self, pos, screen, animations)
Example #14
0
 def __init__(self, pos, screen):
     folder = os.path.join('ReinerLevel', 'data', 'T_dino_red',
                           'dino red bitmaps')
     ImageManager().loadAnimations(folder, 'Dino')
     animations = ImageManager().getAnimations('Dino')
     ReinerMob.__init__(self, pos, screen, animations)
Example #15
0
 def __init__(self):
     self.image_manager = ImageManager()
     self.cell_manager = CellManager()
     self.coloc_processor = CoLocProcessor()
     self.reports_manager = ReportsManager()
     self.cell_picker = CellPicker()
Example #16
0
 def test_create(self):
     im = ImageManager()
     im.download("matrix")
     self.assertTrue(im)
class SetManager(object):

    def __init__(self):
        self.parameters = ParametersManager()
        self.image_manager = ImageManager()
        self.segments_manager = SegmentsManager()
        self.cells_manager = None
        self.fret_manager = FRETManager()
        self.reports_manager = ReportsManager(self.parameters)
        self.control_params = None
        self.working_dir = None

    def load_phase_image(self, filename=None):
        if filename is None:
            filename = tkFileDialog.askopenfilename(initialdir=self.working_dir)

        self.working_dir = "/".join(filename.split("/")[:len(filename.split("/"))-1])

        self.image_manager.load_phase_image(filename,
                                            self.parameters.imageloaderparams.border)

        print "Phase Image Loaded"

    def compute_mask(self):
        """Calls the compute_mask method from image_manager."""

        self.image_manager.compute_mask(self.parameters.imageloaderparams)

        print "Mask Computation Finished"

    def load_fluor_image(self, channel, filename=None):
        """Calls the load_fluor_image method from the ImageManager
        Can be called without a filename or by passing one as an arg
        (filename=...)"""
        if filename is None:
            filename = tkFileDialog.askopenfilename(initialdir=self.working_dir)

        self.image_manager.load_fluor_image(channel,
                                            self.parameters.imageloaderparams,
                                            filename)

        print "Fluor Image Loaded"

    def compute_segments(self):
        """Calls the compute_segments method from Segments.
        Requires the prior loading of both the phase and fluor images and
        the computation of the mask"""

        self.segments_manager = SegmentsManager()
        self.segments_manager.compute_segments(self.parameters.
                                               imageprocessingparams,
                                               self.image_manager)

        print "Segments Computation Finished"

    def compute_cells(self):
        """Creates an instance of the CellManager class and uses the
        compute_cells_method to create a list of cells based on the labels
        computed by the SegmentsManager instance."""
        self.cells_manager = CellsManager(self.parameters)
        self.cells_manager.compute_cells(self.parameters.cellprocessingparams,
                                         self.image_manager,
                                         self.segments_manager)

        print "Cells Computation Finished"

    def merge_cells(self, label_c1, label_c2):
        """Merges two cells using the merge_cells method from the cell_manager
        instance and the compute_merged_cells to create a new list of cells,
        containing a cell corresponding to the merge of the previous two."""
        self.cells_manager.merge_cells(label_c1, label_c2,
                                       self.parameters.cellprocessingparams,
                                       self.segments_manager,
                                       self.image_manager)
        self.cells_manager.overlay_cells(self.image_manager)

        print "Merge Finished"

    def split_cells(self, label_c1):
        """Splits a previously merged cell, requires the label of cell to be
        splitted.
        Calls the split_cells method from the cell_manager instance"""
        self.cells_manager.split_cells(int(label_c1),
                                       self.parameters.cellprocessingparams,
                                       self.segments_manager,
                                       self.image_manager)
        self.cells_manager.overlay_cells(self.image_manager)

        print "Split Finished"

    def define_as_noise(self, label_c1, noise):
        """Method used to change the state of a cell to noise or to undo it"""
        self.cells_manager.mark_cell_as_noise(label_c1, self.image_manager,
                                              noise)

    def process_cells(self):
        self.cells_manager.process_cells(self.parameters.cellprocessingparams, self.image_manager)

        print "Cells Processing Finished"

    def pick_channel(self):
        self.fret_manager.start_channel_picker(self.image_manager, self.cells_manager)

    def compute_autofluorescence(self):
        self.fret_manager.compute_autofluorescence(self.image_manager, self.cells_manager)

    def compute_correction_factors(self):
        self.fret_manager.compute_correction_factors(self.image_manager, self.cells_manager)

    def compute_g(self):
        self.fret_manager.compute_g(self.image_manager, self.cells_manager)

    def compute_fret_efficiency(self):
        self.fret_manager.compute_fret_efficiency(self.image_manager, self.cells_manager)

    def generate_report(self):
        self.reports_manager.generate_report(self.image_manager, self.cells_manager, self.fret_manager)
Example #18
0
 def __init__(self, screen):
     self.site = [CLOUMNS / 2 - 1, ROWS - 3]
     self.screen = screen
     self.imagemanager = ImageManager()
Example #19
0
File: main.py Project: geo7/csci321
def main():
    # Initialize display
    pygame.init()
    #screen_size = (800,600)
    screen = pygame.display.set_mode(screen_size)
    pygame.display.set_caption('Depth updates.')

    # Create background
    grassfile = os.path.join('data', 'Tgrundvari', 'variationen', '012.bmp')
    ImageManager().loadStatic(grassfile, 'Grass', colorkey=False)
    grassimage = ImageManager().getStatic('Grass')
    background = pygame.Surface(screen.get_size())
    for x in range(0, background.get_width(), grassimage.get_width()):
        for y in range(0, background.get_height(), grassimage.get_height()):
            background.blit(grassimage, (x, y))

    # Create game objects
    w, h = screen.get_size()
    for i in range(5):
        x, y = randint(0, w - 1), randint(0, h - 1)
        d = Dino((x, y), screen)
        d.speed = randint(0, 5)
        d.heading = randint(0, 7)
        Dinos.add(d)
    for i in range(5):
        x, y = randint(0, w - 1), randint(0, h - 1)
        o = Ogre((x, y), screen)
        o.speed = randint(0, 5)
        o.heading = randint(0, 7)
        Ogres.add(o)
    for i in range(20):
        x, y = randint(0, w - 1), randint(0, h - 1)
        t = Tree2((x, y), screen, i % 21)
        Trees.add(t)
    myogre = Ogres.sprites()[0]
    Mobs.add(Dinos, Ogres)
    Stats.add(Trees)
    AllSprites.add(Mobs, Stats)

    # Create clock
    clock = pygame.time.Clock()

    # Game loop
    while 1:
        # Slow game down to 30 fps:
        clock.tick(30)

        # Event queue handling:
        for event in pygame.event.get():
            if event.type == QUIT:
                return
            elif event.type == KEYDOWN:
                if event.key == K_ESCAPE:
                    return
                elif event.key == K_RIGHT:
                    myogre.heading -= 1
                    myogre.heading %= 8
                elif event.key == K_LEFT:
                    myogre.heading += 1
                    myogre.heading %= 8

        # Event polling:
        pressed = pygame.key.get_pressed()
        if pressed[K_UP]:
            myogre.speed = 4.0
        else:
            myogre.speed = 0.0

        # Update:
        AllSprites.update()
        for spr1 in Stats:
            for spr2 in [myogre]:
                if spr1 != spr2:
                    if pygame.Rect.colliderect(spr1.collisionRect,
                                               spr2.collisionRect):
                        #spr1.backup()
                        spr2.backup()
        # Draw everything:
        screen.blit(background, (0, 0))
        red = pygame.Color("red")
        pygame.draw.rect(screen, red, myogre.rect, 1)
        pygame.draw.rect(screen, red, myogre.collisionRect, 1)

        for spr in Stats:
            pygame.draw.rect(screen, red, spr.collisionRect, 1)
        AllSprites.draw(screen)

        pygame.display.flip()
Example #20
0
 def __init__(self, screen, site):
     self.screen = screen
     self.site = site
     self.imagemanager = ImageManager()