def update(self,i=0): # Regenerate GMs merged_gauss_2d = GaussianMixture(weights, means, covariances, max_num_mixands=self.num_mixands) matlab_merged_gauss_2d = self.parent.matlab_gm(weights, means, covariances, max_num_mixands=self.num_mixands) # Replot GMs title = 'Python Merged GM ({} mixands)'.format(merged_gauss_2d.weights.size) if hasattr(self,'old_contour'): merged_gauss_2d.contourf = self.old_contour merged_gauss_2d.plot_remove() self.old_contour = merged_gauss_2d.plot(ax=self.axes[1], levels=self.levels, title=title) title = 'Matlab Merged GM ({} mixands)'.format(matlab_merged_gauss_2d.weights.size) if hasattr(self,'old_matlab_contour'): matlab_merged_gauss_2d.contourf = self.old_matlab_contour matlab_merged_gauss_2d.plot_remove() self.old_matlab_contour = matlab_merged_gauss_2d.plot(ax=self.axes[2], levels=self.levels, title=title) # Decrement mixands (with wrapping) if self.num_mixands == self.max_num_mixands: self.num_mixands = 1 elif np.int(self.num_mixands * self.mixand_rate) < self.max_num_mixands: self.num_mixands = np.int(self.num_mixands * self.mixand_rate) else: self.num_mixands = self.max_num_mixands
def update(self, i=0): # Regenerate GMs merged_gauss_2d = GaussianMixture( weights, means, covariances, max_num_mixands=self.num_mixands) matlab_merged_gauss_2d = self.parent.matlab_gm( weights, means, covariances, max_num_mixands=self.num_mixands) # Replot GMs title = 'Python Merged GM ({} mixands)'.format( merged_gauss_2d.weights.size) if hasattr(self, 'old_contour'): merged_gauss_2d.contourf = self.old_contour merged_gauss_2d.plot_remove() self.old_contour = merged_gauss_2d.plot(ax=self.axes[1], levels=self.levels, title=title) title = 'Matlab Merged GM ({} mixands)'.format( matlab_merged_gauss_2d.weights.size) if hasattr(self, 'old_matlab_contour'): matlab_merged_gauss_2d.contourf = self.old_matlab_contour matlab_merged_gauss_2d.plot_remove() self.old_matlab_contour = matlab_merged_gauss_2d.plot( ax=self.axes[2], levels=self.levels, title=title) # Decrement mixands (with wrapping) if self.num_mixands == self.max_num_mixands: self.num_mixands = 1 elif np.int(self.num_mixands * self.mixand_rate) < self.max_num_mixands: self.num_mixands = np.int(self.num_mixands * self.mixand_rate) else: self.num_mixands = self.max_num_mixands