def generate(self, N = 1.0e+3):
import scipy.stats as stats
N = int(N)
data = np.ndarray(
shape=(N, ) + self._background_samples.shape[1:],
dtype=self._background_samples.dtype
)
mask = np.zeros(
shape=data.shape,
dtype='int8'
)
data = self._get_background(data)
data = self._impose_white_noise(data)
n_tracks_distr = stats.expon(scale=self._track_rate)
n_ptracks_distr = stats.expon(scale=self._pseudo_tracks_rate)
track_area_distr = self._area_distribution
track_stream = random_samples_stream(self._track_samples)
track_max_x = self._background_samples.shape[1] - self._track_samples.shape[1]
track_max_y = self._background_samples.shape[2] - self._track_samples.shape[2]
for i in xrange(N):
n_tracks = int(n_tracks_distr.rvs(size=1))
for _ in xrange(n_tracks):
track = track_stream.next()
x, y = np.random.randint(track_max_x), np.random.randint(track_max_y)
impose(track, data[i], x, y)
impose(track, mask[i], x, y, level=1)
n_ptracks = int(n_ptracks_distr.rvs(size=1))
for _ in xrange(n_ptracks):
ptrack = pseudo_track(
area_distribution=track_area_distr,
signal_distribution=self._signal_level,
width = self._pseudo_track_width,
sparseness=self._pseudo_track_sparseness,
patch_size=self._track_samples.shape[1],
dtype=self._track_samples.dtype
)
x, y = np.random.randint(track_max_x), np.random.randint(track_max_y)
impose(ptrack, data[i], x, y, level=self._signal_level)
impose(ptrack, mask[i], x, y, level=-1)
return data, mask
lowbrightnessgenerator.py 文件源码
python
阅读 23
收藏 0
点赞 0
评论 0
评论列表
文章目录