@@ -131,13 +131,45 @@ def get_mesh(x_mesh, y_mesh):
131131 mesh = np .array ([Xsim ,Ysim ,np .zeros (d )]);
132132 return mesh
133133
134- def get_source (depth , n_sources , var_noise ):
135-
136- sources = np .random .rand (4 , n_sources );
137- sources [3 , :] = depth
138- sources [0 , :] = 2 * np .floor (2 * sources [0 , :])- 1 ;
139- # image = evalpotential(mesh, sources);
140- # image = image.reshape((y_mesh, x_mesh)) + var_noise*np.random.randn(y_mesh, x_mesh)
134+ def get_source (n_sources = [40 , 60 ],
135+ p_n_sources = [.5 , .5 ],
136+ depth = [.1 ],
137+ p_depth = [1 ],
138+ amplitude = [- 1 ,1 ],
139+ p_amplitude = [.5 ,.5 ]):
140+ """
141+ Parameters:
142+ -----------
143+ n_sources: numpy array (int)
144+ the number of sources in the plane
145+
146+ p_n_sources: numpy array
147+ The probabily distribution over the number of sources.
148+
149+ depth: numpy array
150+ the depth of sources
151+
152+ p_depth: numpy array
153+ The probabily distribution over the depth of sources.
154+
155+ amplitude: numpy array
156+ amplitude of sources.
157+
158+ p_amplitude: numpy array
159+ The probabily distribution over the amplitude of sources.
160+
161+ Returns:
162+ -------
163+ sources: numpy array of shape (4, n)
164+ the bio information of sources.
165+ """
166+
167+ number_of_sources = np .random .choice (a = n_sources , size = 1 , p = p_n_sources )[0 ]
168+ sources = np .zeros (4 , number_of_sources );
169+ d = np .expand_dims (np .random .choice (a = depth , size = number_of_sources , p = p_depth ),0 )
170+ loc = np .random .rand (2 , number_of_sources )
171+ amp = np .expand_dims (np .random .choice (a = amplitude , size = number_of_sources , p = p_amplitude ),0 )
172+ sources = np .append (np .append (amp , loc , 0 ), d ,0 )
141173 return sources
142174
143175def generate_heatmaps (keypoints , im_height , im_width ):
0 commit comments