Example #1
0
 def test_addfromfile_pca(self, bigimageset_rw, imgfile):
     "Adding a file should still work after reducing the set"
     sample = bigimageset_rw.sample()
     extractor = PCAFeatures.create(sample)
     bigimageset_rw.add_feature_set(extractor)
     prev_len = len(bigimageset_rw)
     bigimageset_rw.add_from_file(imgfile)
     assert(len(bigimageset_rw) == prev_len+1)
     assert(len(bigimageset_rw.feature_sets['pca']) == prev_len+1)
Example #2
0
 def test_reduce_fewimg(self, bigimageset_rw):
     "More pixels than images should lead to less components than images"
     prev_length = len(bigimageset_rw)
     sample = bigimageset_rw.sample()
     extractor = PCAFeatures.create(sample)
     bigimageset_rw.add_feature_set(extractor)
     img0 = bigimageset_rw.get_pixels_at(0, 'pca')  # FIXME pca is hardcoded
     assert(len(bigimageset_rw) == prev_length)
     assert('pca' in bigimageset_rw.feature_sets)
     assert(len(img0) <= len(bigimageset_rw) < IMG_SIZE*IMG_SIZE)
Example #3
0
 def test_reduce_smallsample(self, bigimageset_rw):
     "More images than sample size"
     prev_length = len(bigimageset_rw)
     sample_size = prev_length / 2
     sample = bigimageset_rw.sample(sample_size)
     extractor = PCAFeatures.create(sample, None)
     bigimageset_rw.add_feature_set(extractor)
     img0 = bigimageset_rw.get_pixels_at(0, 'pca')  # FIXME pca is hardcoded
     assert(len(bigimageset_rw) == prev_length)
     assert('pca' in bigimageset_rw.feature_sets)
     assert(len(img0) == sample_size)
Example #4
0
 def test_reduce_manyimg(self, bigimageset_rw, tmpdir_factory):
     """More images than pixels but less than sample size
     won't reduce the dimensionality"""
     images = [make_filedict(t, True) for t in range(6000, 30000, 60)]
     for img in images:
         img['name'] = imgfile(tmpdir_factory, img['img_time'])
         bigimageset_rw._add_image(**img)
     bigimageset_rw.fileh.flush()
     prev_length = len(bigimageset_rw)
     sample = bigimageset_rw.sample(450)
     extractor = PCAFeatures.create(sample, None)
     bigimageset_rw.add_feature_set(extractor)
     img0 = bigimageset_rw.get_pixels_at(0, 'pca')  # FIXME pca is hardcoded
     assert(len(bigimageset_rw) == prev_length)
     assert(len(img0) == IMG_SIZE*IMG_SIZE)
Example #5
0
        def task(webcam_id, feat_type):
            with self.open_dataset(webcam_id) as dataset:
                if feat_type == 'raw':
                    img_shape = dataset.imgset.img_shape
                    w, h = settings.DEFAULT_FEATURES_SIZE
                    feat_shape = h, w, 3
                    extractor = RawFeatures(feat_shape, img_shape)
                elif feat_type == 'pca':
                    logger.info("Starting computation of a PCM model")
                    sample = dataset.imgset.sample()
                    extractor = PCAFeatures.create(sample)
                else:  # rbm
                    logger.info("Starting computation of a RBM model")
                    sample = dataset.imgset.sample()
                    extractor = RBMFeatures.create(sample)

                if extractor.name in dataset.imgset.feature_sets:
                    raise ValueError("The feature set %s already exists" %
                                     extractor.name)

                logger.info("Adding a new set of features %s to webcam %s",
                            feat_type, webcam_id)
                dataset.imgset.add_feature_set(extractor)
Example #6
0
 def test_pixelsat_seq_pca(self, imageset):
     "Read reduced pixels from a tuple of indices"
     sample = imageset.sample()
     extractor = PCAFeatures.create(sample)
     fset = imageset.add_feature_set(extractor)
     self.test_pixelsat_seq(imageset, fset.name)