Example #1
0
	def compute(self):
		run_type = self.getInputFromPort("RunType")
		run_count = self.getInputFromPort("Count")
		output_file = self.interpreter.filePool.create_file()
		os.chdir('/Users/blc/my_git/cybercom/mcmc')
		copyline=['/usr/bin/matlab','-nodisplay','-r','MCMC '+run_type+' '+run_count+' '+output_file.name]
		os.system(list2cmdline(copyline))
		print list2cmdline(copyline)
		self.setResult("Output_File", output_file)
Example #2
0
    def compute(self):
        self.checkInputPort('input_file')
        self.checkInputPort('iterations')
        iters = self.getInputFromPort('iterations')
        if iters < 1:
            raise ModuleError(self, 'iterations must be >=1')
        input_file = self.getInputFromPort('input_file')
        if self.hasInputFromPort('output_format'):
            output_suffix = self.getInputFromPort('output_format')
        else:
            output_suffix = self.guess_input_format(input_file.name)
        if not output_suffix:
            output_suffix = '.off'
        output_file = self.interpreter.filePool.create_file(
            suffix=output_suffix)

        values = [
            _mesh_filter_path, input_file.name, '-subdiv', output_file.name
        ]
        cmdline = list2cmdline(values)
        print cmdline
        result = os.system(cmdline)
        if result != 0:
            raise ModuleError(self, 'Execution failed')

        for i in xrange(iters - 1):
            cmdline = '%s %s -subdiv %s' % (_mesh_filter_path,
                                            output_file.name, output_file.name)
            print cmdline
            result = os.system(cmdline)
            if result != 0:
                raise ModuleError(self, 'Execution failed')

        self.setResult('output_file', output_file)
Example #3
0
    def compute(self):
        self.checkInputPort('input_file')
        self.checkInputPort('iterations')
        iters = self.getInputFromPort('iterations')
        if iters < 1:
            raise ModuleError(self, 'iterations must be >=1')
        input_file = self.getInputFromPort('input_file')
        if self.hasInputFromPort('output_format'):
            output_suffix = self.getInputFromPort('output_format')
        else:
            output_suffix = self.guess_input_format(input_file.name)
        if not output_suffix:
            output_suffix = '.off'
        output_file = self.interpreter.filePool.create_file(suffix=output_suffix)

        values = [_mesh_filter_path,
                  input_file.name,
                  '-subdiv',
                  output_file.name]
        cmdline = list2cmdline(values)
        print cmdline
        result = os.system(cmdline)
        if result != 0:
            raise ModuleError(self, 'Execution failed')

        for i in xrange(iters-1):
            cmdline = '%s %s -subdiv %s'  % (_mesh_filter_path,
                                             output_file.name,
                                             output_file.name)
            print cmdline
            result = os.system(cmdline)
            if result != 0:
                raise ModuleError(self, 'Execution failed')
            
        self.setResult('output_file', output_file)
Example #4
0
    def compute(self):
        o = self.create_output_file()
        r = self.getInputFromPort("r")
        g = self.getInputFromPort("g")
        b = self.getInputFromPort("b")
        a = self.getInputFromPort("a")

        path = None
        if configuration.check('path'):
            path = configuration.path
        if path:
            cmd = os.path.join(path, 'convert')
        else:
            cmd = 'convert'
        cmd = [
            cmd, '-channel', 'RGBA', '-combine', r.name, g.name, b.name,
            a.name, o.name
        ]
        if not configuration.quiet:
            debug.log(cmd)
        cmdline = list2cmdline(cmd)
        result = os.system(cmdline)
        if result != 0:
            raise ModuleError(self, "system call failed: '%s'" % cmdline)
        self.setResult("output", o)
Example #5
0
 def run(self):
     cmd = [os.getenv("HOME") + "/bright/gui/bin/reprocess"]
     cmdline = list2cmdline(cmd)
     if self._debug:
         print cmdline
     result = os.system(cmdline)
     if result != 0:
         raise ModuleError(self, "Execution failed")
Example #6
0
 def compute(self):
     cmd = ['pnmtojpeg']
     i = self.getInputFromPort("input")
     cmd.append(i.name)
     o = self.interpreter.filePool.create_file(suffix='.jpg')
     cmd.append(' >')
     cmd.append(o.name)
     self.run(list2cmdline(cmd))
     self.setResult('output', o)
Example #7
0
 def compute(self):
     cmd = ['pgmtoppm', 'white']
     i = self.get_input("input")
     cmd.append(i.name)
     o = self.interpreter.filePool.create_file(suffix='.ppm')
     cmd.append(' >')
     cmd.append(o.name)
     self.run(list2cmdline(cmd))
     self.set_output('output', o)
Example #8
0
    def compute(self):
        self.checkInputPort("input_file")
        self.checkInputPort("iso_value")

        input_file = self.getInputFromPort("input_file")
        output_file = self.interpreter.filePool.create_file(suffix=".off")

        iso_value = self.getInputFromPort("iso_value")

        values = [get_path(), input_file.name, str(iso_value), output_file.name]
        cmdline = list2cmdline(values)
        print cmdline
        result = os.system(cmdline)
        if result != 0:
            raise ModuleError(self, "Execution failed")

        self.setResult("output_file", output_file)
    def run(self, *args):
        """run(*args), runs ImageMagick's 'convert' on a shell, passing all
arguments to the program."""
        path = None
        if configuration.check('path'):
            path = configuration.path
        if path:
            cmd = os.path.join(path,'convert')
        else:
            cmd = 'convert'    
        cmd = [cmd] + list(args)
        cmdline = list2cmdline(cmd)
        if not configuration.quiet:
            debug.log(cmdline)
        r = os.system(cmdline)
        if r != 0:
            raise ModuleError(self, "system call failed: '%s'" % cmdline)
Example #10
0
    def run(self, *args):
        """run(*args), runs ImageMagick's 'convert' on a shell, passing all
arguments to the program."""
        path = None
        if configuration.check('path'):
            path = configuration.path
        if path:
            cmd = os.path.join(path, 'convert')
        else:
            cmd = 'convert'
        cmd = [cmd] + list(args)
        cmdline = list2cmdline(cmd)
        if not configuration.quiet:
            debug.log(cmdline)
        r = os.system(cmdline)
        if r != 0:
            raise ModuleError(self, "system call failed: '%s'" % cmdline)
Example #11
0
    def compute(self):
        self.check_input('input_file')
        self.check_input('iso_value')
        
        input_file = self.get_input('input_file')
        output_file = self.interpreter.filePool.create_file(suffix='.off')

        iso_value = self.get_input('iso_value')

        values = [get_path(), input_file.name,
                  str(iso_value), output_file.name]
        cmdline = list2cmdline(values)
        print cmdline
        result = os.system(cmdline)
        if result != 0:
            raise ModuleError(self, 'Execution failed')

        self.set_output('output_file', output_file)
Example #12
0
 def compute(self):
     self.checkInputPort('input_file')
     input_file = self.getInputFromPort('input_file')
     if self.hasInputFromPort('output_format'):
         output_suffix = self.getInputFromPort('output_format')
     else:
         output_suffix = self.guess_input_format(input_file.name)
     if not output_suffix:
         output_suffix = '.off'
     output_file = self.interpreter.filePool.create_file(
         suffix=output_suffix)
     values = [_mesh_filter_path, input_file.name, output_file.name]
     cmdline = list2cmdline(values)
     print cmdline
     result = os.system(cmdline)
     if result != 0:
         raise ModuleError(self, 'Execution failed')
     self.setResult('output_file', output_file)
Example #13
0
 def compute(self):
     self.checkInputPort('input_file')
     input_file = self.getInputFromPort('input_file')
     if self.hasInputFromPort('output_format'):
         output_suffix = self.getInputFromPort('output_format')
     else:
         output_suffix = self.guess_input_format(input_file.name)
     if not output_suffix:
         output_suffix = '.off'
     output_file = self.interpreter.filePool.create_file(suffix=output_suffix)
     values = [_mesh_filter_path,
               input_file.name,
               output_file.name]
     cmdline = list2cmdline(values)
     print cmdline
     result = os.system(cmdline)
     if result != 0:
         raise ModuleError(self, 'Execution failed')
     self.setResult('output_file', output_file)
Example #14
0
    def compute(self):
        self.check_input('input_file')
        self.check_input('iso_value')

        input_file = self.get_input('input_file')
        output_file = self.interpreter.filePool.create_file(suffix='.off')

        iso_value = self.get_input('iso_value')

        values = [
            get_path(), input_file.name,
            str(iso_value), output_file.name
        ]
        cmdline = list2cmdline(values)
        print cmdline
        result = os.system(cmdline)
        if result != 0:
            raise ModuleError(self, 'Execution failed')

        self.set_output('output_file', output_file)
 def compute(self):
     o = self.create_output_file()
     r = self.getInputFromPort("r")
     g = self.getInputFromPort("g")
     b = self.getInputFromPort("b")
     a = self.getInputFromPort("a")
     
     path = None
     if configuration.check('path'):
         path = configuration.path
     if path:
         cmd = os.path.join(path,'convert')
     else:
         cmd = 'convert'    
     cmd = [cmd, '-channel', 'RGBA', '-combine',
            r.name, g.name, b.name, a.name, o.name]
     if not configuration.quiet:
         debug.log(cmd)
     cmdline = list2cmdline(cmd)
     result = os.system(cmdline)
     if result != 0:
         raise ModuleError(self, "system call failed: '%s'" % cmdline)
     self.setResult("output", o)
Example #16
0
    def compute(self):
        self.checkInputPort('mesh1')
        self.checkInputPort('mesh2')
        f1 = self.getInputFromPort('mesh1')
        f2 = self.getInputFromPort('mesh2')

        make_file = self.interpreter.filePool.create_file

        metro_output = make_file(suffix='.txt')

        values = [get_path(), f1.name, f2.name, '-q']

        need_error_meshes = False
        if (self.outputPorts.has_key('error_mesh_1')
                or self.outputPorts.has_key('error_mesh_2')):
            need_error_meshes = True
            error_mesh_output = (make_file(suffix='.ply'),
                                 make_file(suffix='.ply'))
            values.append('-c')
            values.append(error_mesh_output[0].name)
            values.append(error_mesh_output[1].name)

        need_histograms = False
        if (self.outputPorts.has_key('error_hist_1')
                or self.outputPorts.has_key('error_hist_2')):
            need_histograms = True
            error_hist_output = (make_file(suffix='.csv'),
                                 make_file(suffix='.csv'))
            values.append('-h')
            values.append(error_hist_output[0].name)
            values.append(error_hist_output[1].name)

        values.append('>')
        values.append(metro_output.name)

        cmdline = list2cmdline(values)

        #         cmdline = ('%s ' * len(values)) % tuple(values)
        #         cmdline += '> '
        #         cmdline += metro_output.name
        print cmdline

        result = os.system(cmdline)
        if result != 0:
            raise ModuleError(self, "Execution failed")
        l = [
            x for x in file(metro_output.name).readlines()
            if x.startswith('Hausdorff')
        ][0]
        regexp = re.compile(
            r'Hausdorff distance: ([0123456789.]+) \(([0123456789.]+)  wrt bounding box diagonal\)'
        )
        results = regexp.match(l).groups()

        if need_error_meshes:
            self.setResult('error_mesh_1', error_mesh_output[0])
            self.setResult('error_mesh_2', error_mesh_output[1])

        if need_histograms:
            self.setResult('error_hist_1', error_hist_output[0])
            self.setResult('error_hist_2', error_hist_output[1])

        self.need_error_meshes = need_error_meshes
        self.need_histograms = need_histograms

        self.setResult('hausdorff_error', float(results[0]))
        self.setResult('normalized_hausdorff_error', float(results[1]))
Example #17
0
 def run(self, args):
     cmd = ['afront', '-nogui'] + args
     cmdline = list2cmdline(cmd)
     print cmdline
     os.system(cmdline)
Example #18
0
 def air_cmd_line(self, cmd, *params):
     """Runs a command-line command for the AIR tools."""
     return list2cmdline([global_airpath + cmd] + list(params))
Example #19
0
 def fsl_cmd_line(self, cmd, *params):
     """Runs a command-line command for the FSL tools."""
     return ('FSLOUTPUTTYPE=NIFTI_GZ ' +
             list2cmdline([global_fslpath + cmd] + list(params)))
Example #20
0
 def run(self, args):
     cmd = ['afront', '-nogui'] + args
     cmdline = list2cmdline(cmd)
     print cmdline
     os.system(cmdline)
Example #21
0
    def compute(self):
        self.check_input('mesh1')
        self.check_input('mesh2')
        f1 = self.get_input('mesh1')
        f2 = self.get_input('mesh2')

        make_file = self.interpreter.filePool.create_file

        metro_output = make_file(suffix='.txt')

        values = [get_path(), f1.name, f2.name, '-q']

        need_error_meshes = False
        if (self.outputPorts.has_key('error_mesh_1') or
            self.outputPorts.has_key('error_mesh_2')):
            need_error_meshes = True
            error_mesh_output = (make_file(suffix='.ply'),
                                 make_file(suffix='.ply'))
            values.append('-c')
            values.append(error_mesh_output[0].name)
            values.append(error_mesh_output[1].name)

        need_histograms = False
        if (self.outputPorts.has_key('error_hist_1') or
            self.outputPorts.has_key('error_hist_2')):
            need_histograms = True
            error_hist_output = (make_file(suffix='.csv'),
                                 make_file(suffix='.csv'))
            values.append('-h')
            values.append(error_hist_output[0].name)
            values.append(error_hist_output[1].name)

        values.append('>')
        values.append(metro_output.name)
        
        cmdline = list2cmdline(values)

#         cmdline = ('%s ' * len(values)) % tuple(values)
#         cmdline += '> '
#         cmdline += metro_output.name
        print cmdline
        
        result = os.system(cmdline)
        if result != 0:
            raise ModuleError(self, "Execution failed")
        l = [x for x in file(metro_output.name).readlines()
             if x.startswith('Hausdorff')][0]
        regexp = re.compile(r'Hausdorff distance: ([0123456789.]+) \(([0123456789.]+)  wrt bounding box diagonal\)')
        results = regexp.match(l).groups()
        
        if need_error_meshes:
            self.set_output('error_mesh_1', error_mesh_output[0])
            self.set_output('error_mesh_2', error_mesh_output[1])

        if need_histograms:
            self.set_output('error_hist_1', error_hist_output[0])
            self.set_output('error_hist_2', error_hist_output[1])

        self.need_error_meshes = need_error_meshes
        self.need_histograms = need_histograms

        self.set_output('hausdorff_error', float(results[0]))
        self.set_output('normalized_hausdorff_error', float(results[1]))