예제 #1
0
 def test_one_map_bis_template(self):
     """Test creating one map from template."""
     maps = Maps.random(self.size1_bis, template=template)
     arr = maps.to_array()
     self.assertEqual(np.sum(arr), self.size1)
     self.assertEqual(maps.n_m, 1)
     self.assertEqual(maps.n_v, Ni*Nj*Nk)
예제 #2
0
def simulate_maps(coords, sigma, size, random_state=None):
    """
    Create maps the same noised activation point

    Args:
        coords (tuple): Tuple of size 3 storing x y z coordinates.
        sigma (float): Standard deviation of the gaussian kernel.
        N (int): Number of maps to generate.

    Returns:
        (Maps): Instance of Maps object containing generated maps.

    """
    x, y, z = coords
    Ni, Nj, Nk = template.shape
    p = Maps.zeros(template=template)
    p.set_coord(0, x, y, z, 1)
    p.smooth(sigma=sigma, inplace=True)

    # plotting.plot_glass_brain(p.to_img())
    # plt.show()

    # rand_maps = Maps.zeros(Ni*Nj*Nk, template=template)
    # rand_maps.randomize(size=10*np.ones(N).astype(int), p=p, inplace=True)
    # return rand_maps

    return Maps.random(size=size,
                       p=p,
                       random_state=random_state,
                       template=template)
예제 #3
0
 def test_two_maps_array_manual(self):
     """Test creating several maps from Ni Nj Nk."""
     maps = Maps.random(self.size3, Ni=Ni, Nj=Nj, Nk=Nk)
     arr = maps.to_array()
     self.assertEqual(np.sum(arr), np.sum(self.size3))
     self.assertEqual(maps.n_m, 2)
     self.assertEqual(maps.n_v, Ni*Nj*Nk)
예제 #4
0
 def test_one_map_manual(self):
     """Test creating one map from Ni Nj Nk."""
     maps = Maps.random(self.size1, Ni=Ni, Nj=Nj, Nk=Nk)
     arr = maps.to_array()
     self.assertEqual(np.sum(arr), self.size1)
     self.assertEqual(maps.n_m, 1)
     self.assertEqual(maps.n_v, Ni*Nj*Nk)
예제 #5
0
 def test_two_maps_array_template(self):
     """Test creating several maps from template."""
     maps = Maps.random(self.size3, template=template)
     arr = maps.to_array()
     self.assertEqual(np.sum(arr), np.sum(self.size3))
     self.assertEqual(maps.n_m, 2)
     self.assertEqual(maps.n_v, Ni*Nj*Nk)
예제 #6
0
 def test_two_maps_template(self):
     """Test creating several maps from template."""
     maps = Maps.random(self.size2, template=template)
     arr = maps.to_array()
     n_peaks, n_maps = self.size2
     self.assertEqual(np.sum(arr), n_peaks)
     self.assertEqual(maps.n_m, n_maps)
     self.assertEqual(maps.n_v, Ni*Nj*Nk)
예제 #7
0
def random_maps(draw, min_maps=1):
    Ni = draw(strats.integers(min_value=1, max_value=max_box_width))
    Nj = draw(strats.integers(min_value=1, max_value=max_box_width))
    Nk = draw(strats.integers(min_value=1, max_value=max_box_width))
    n_maps = draw(strats.integers(min_value=min_maps, max_value=max_maps))
    n_peaks = draw(strats.integers(min_value=0, max_value=max_peaks))

    return Maps.random(Ni, Nj, Nk, n_peaks, n_maps)
예제 #8
0
 def test_no_kwargs(self):
     """Test without keywords."""
     with self.assertRaises(TypeError):
         Maps.random(size=None)
예제 #9
0
    def test_random_seed(self):
        """Test if obtain same results with same seeds."""
        maps1 = Maps.random(self.size3, Ni=Ni, Nj=Nj, Nk=Nk, random_state=0)
        maps2 = Maps.random(self.size3, Ni=Ni, Nj=Nj, Nk=Nk, random_state=0)

        self.assertTrue(np.array_equal(maps1.to_array(), maps2.to_array()))