def createEmanProcess(script='e2converter.py', args=None, direc="."): """ Open a new Process with all EMAN environment (python...etc) that will server as an adaptor to use EMAN library """ program = pw.join('em', 'packages', 'eman2', script) cmd = getEmanCommand(program, args) # gcmd = greenStr(cmd) print "** Running: '%s'" % cmd proc = subprocess.Popen(cmd, shell=True, env=getEnviron(), stdin=subprocess.PIPE, stdout=subprocess.PIPE, cwd=direc) return proc
def a_testEmanConvert(self): project = self.loadProject("TestXmippWorkflow") particleList = project.mapper.selectByClass('SetOfParticles') eman2.loadEnvironment() program = pw.join('em', 'packages', 'eman2', 'e2converter.py') cmd = eman2.getEmanCommand(program, 'myimage.hdf') gcmd = greenStr(cmd) print "** Running: '%s'" % gcmd proc = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE) p = particleList[0] for i, img in enumerate(p): loc = img.getLocation() index = loc.getIndex() fn = loc.getFileName() print >> proc.stdin, index, fn p.wait()