当前位置: 首页>>代码示例>>Python>>正文


Python Renderer.jz_multi方法代码示例

本文整理汇总了Python中renderer.Renderer.jz_multi方法的典型用法代码示例。如果您正苦于以下问题:Python Renderer.jz_multi方法的具体用法?Python Renderer.jz_multi怎么用?Python Renderer.jz_multi使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在renderer.Renderer的用法示例。


在下文中一共展示了Renderer.jz_multi方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from renderer import Renderer [as 别名]
# 或者: from renderer.Renderer import jz_multi [as 别名]

#.........这里部分代码省略.........
			(Hz, Hz_components) = self._jacobian_multi(y_im, y_flow, y_m)
		else:
			(Hz, Hz_components) = self._jacobian(y_im, y_flow, y_m)
		if self.sparse:
			if self.multi:
				HTH = self._hessian_sparse_multi(y_im, y_flow, y_m)
			else:
				HTH = self._hessian_sparse(y_im, y_flow, y_m)
		else:
			HTH = self._hessian(y_im, y_flow, y_m)
		return (Hz, HTH, Hz_components)

	@timer_counter(stats.jacobianrenderstc, stats.jacinc)
	def _jacobian_multi(self, y_im, y_flow, y_m, deltaX = 2):
		Hz = np.zeros((self.size(),1))
		Hz_components = np.zeros((self.size(),4))

		#Perturb groups of vertices
		#This loop is ~32 renders, instead of ~280, for hydra1 synthetic mesh of 35 nodes
		for idx, e in enumerate(self.E):
			self.refresh(idx) 
			self.render()
			#Set reference image to unperturbed images
			self.renderer.initjacobian(y_im, y_flow, y_m)
			for i in range(2):
				for j in range(2):
					offset = i+2*self.N*j 
					#print e 
					ee = offset + 2*np.array(e, dtype=np.int)
					#print ee 
					self.X[ee,0] = np.squeeze(self.X[ee, 0] + deltaX)
					self.refresh(idx)
					self.render()
					(hz, hzc) = self.renderer.jz_multi(self)
					Hz[ee,0] = np.squeeze(hz[e]/deltaX)
					Hz_components[ee,:] = hzc[e,:]/deltaX
					
					self.X[ee,0] = np.squeeze(self.X[ee,0] - 2*deltaX)
					self.refresh(idx)
					self.render()
					(hz, hzc) = self.renderer.jz_multi(self)
					Hz[ee,0] = np.squeeze(Hz[ee,0] - hz[e].T/deltaX)
					Hz_components[ee,:] -= hzc[e,:]/deltaX
					self.X[ee,0] = np.squeeze(self.X[ee,0] + deltaX)
					
					Hz[ee,0] = Hz[ee,0]/2
					Hz_components[ee,:] = Hz_components[ee,:]/2

		self.refresh() 
		self.render()
		return (Hz, Hz_components)

	def _jacobian(self, y_im, y_flow, y_m, deltaX = 2):
		Hz = np.zeros((self.size(),1))
		Hz_components = np.zeros((self.size(),4))
		self.refresh() 
		self.render()
		#Set reference image to unperturbed images
		self.renderer.initjacobian(y_im, y_flow, y_m)
		for idx in range(self.size()):
			self.X[idx,0] += deltaX
			self.refresh()
			self.render()
			(hz, hzc) = self.renderer.jz(self)
			Hz[idx,0] = hz/deltaX
			Hz_components[idx,:] = hzc/deltaX
开发者ID:benlansdell,项目名称:hydra,代码行数:70,代码来源:kalman.py


注:本文中的renderer.Renderer.jz_multi方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。