Exemple #1
0
    def appendParametersToDOMTree(self, doc, node):
        if self.cuboid is not None:
            if 0:
                print ""
                print "Appending to DOM tree:"
                print "- parameters :"
                print self.parameters
                print "- cuboid descrip:"
                print self.cuboid.descrip()
            lu = max([self.longest_underscore(an) for an in self.cuboid.getAxesNames()])
            lud = 0
            for d in self.cuboid.getAxesDomains():
                if "str" in d.dtype.name:
                    lud = max([self.longest_underscore(v) for v in d])
            sep = "_" * (max([lud, lu]) + 1)

            if self.cuboid.is_nii_writable():
                fn0 = op.join(self.outDir, self.parameters["name"] + ".nii")
                eaxes, fns = writexndarrayToNiftii(self.cuboid, fn0, sep=sep)
                fns = fns.values()
            elif self.cuboid.getNbDims() <= 2:
                eaxes = []
                fns = [op.join(self.outDir, self.parameters["name"] + ".csv")]
                self.cuboid.save(fns[0])
            else:
                eaxes = []
                fns = [op.join(self.outDir, self.parameters["name"] + ".h5")]
                self.cuboid.save(fns[0])

            self.parameters["dataFiles"] = fns
            self.parameters["explodedAxes"] = eaxes
            # print 'eaxes:', eaxes
            XMLParamDrivenClass.appendParametersToDOMTree(self, doc, node)
Exemple #2
0
    def appendParametersToDOMTree(self, doc, node):
        if self.savexndarray:
            if self.cuboid is not None:
                if 0:
                    print ""
                    print "Appending to DOM tree:"
                    print "- parameters :"
                    print self.parameters
                    print "- cuboid descrip:"
                    print self.cuboid.descrip()
                sep = "_"

                if self.cuboid.is_nii_writable():
                    fn0 = op.join(self.outDir, self.parameters["name"] + ".nii")
                    pyhrf.verbose(3, "Writing cuboid for %s ..." % self.parameters["name"])
                    eaxes, slicefns = writexndarrayToNiftii(self.cuboid, fn0, sep=sep, meta_data=self.meta_data)
                    pyhrf.verbose(3, "Written cuboid for %s" % self.parameters["name"])
                elif self.cuboid.getNbDims() <= 2:
                    eaxes = []
                    fn = op.join(self.outDir, self.parameters["name"] + ".csv")
                    # slicefns = { ('_','_') : fn }
                    slicefns = {None: fn}
                    self.cuboid.save(fn)
                else:
                    eaxes = []
                    fn = op.join(self.outDir, self.parameters["name"] + ".h5")
                    # slicefns = { ('_','_') : fn }
                    slicefns = {None: fn}
                    self.cuboid.save(fn)

                for s, f in slicefns.iteritems():
                    if self.useRelativePath:
                        slicefns[s] = op.join("./", op.basename(f))
                    else:
                        slicefns[s] = op.abspath(f)

                self.parameters["dataFiles"] = slicefns
                self.parameters["explodedAxes"] = eaxes
                # print 'eaxes:', eaxes
                XMLParamDrivenClass.appendParametersToDOMTree(self, doc, node)
            else:
                raise Exception("No cuboid to save")
        else:
            XMLParamDrivenClass.appendParametersToDOMTree(self, doc, node)