Ejemplo n.º 1
0
        def fill_it(button):
            print "fill_it()"
            gname = entryGname.get_text()
            print "gname is '%s'" % gname
            cstart = str2int_or_err(entryStart.get_text(),
                                    labelStart,
                                    parent=self)
            print "cstart is '%s'" % cstart

            if cstart is None: return
            cend = str2int_or_err(entryEnd.get_text(), labelEnd, parent=self)
            if cend is None: return

            cnt = 1

            print "entries is ", entries
            print "cend is '%s', len(entries)=%d" % (cend, len(entries))
            if cend > len(entries):
                #TODO: i not defined
                error_msg('Channel #%d out of range' % i, parent=self)
                return

            for i in range(cstart, cend + 1):
                print "trying to set_text(", gname, ") for slot i=", i
                label, ename, enum = entries[i - 1]
                ename.set_text(gname)
                enum.set_text('%d' % cnt)
                cnt += 1
Ejemplo n.º 2
0
        def fill_it(button):
            print "fill_it()"
            gname = entryGname.get_text()
            print "gname is '%s'" % gname
            cstart = str2int_or_err(entryStart.get_text(), labelStart, parent=self)
            print "cstart is '%s'" % cstart
            
            if cstart is None: return
            cend = str2int_or_err(entryEnd.get_text(), labelEnd, parent=self)
            if cend is None: return

            cnt = 1

            print "entries is ", entries
            print "cend is '%s', len(entries)=%d"  % (cend, len(entries))
            if cend>len(entries):
                #TODO: i not defined
                error_msg('Channel #%d out of range' % i, parent=self)
                return


            for i in range(cstart, cend+1):
                print "trying to set_text(", gname, ") for slot i=", i
                label, ename, enum = entries[i-1]
                ename.set_text(gname)
                enum.set_text('%d'%cnt)
                cnt += 1
Ejemplo n.º 3
0
    def get_amp(self):

        while 1:
            response = self.run()

            if response == gtk.RESPONSE_OK:
                trodes = []
                for i, tup in enumerate(self.entries):
                    label, ename, enum = tup
                    gname = ename.get_text()
                    if not len(gname):
                        error_msg('Empty grid name on channel %d' % i + 1,
                                  parent=self)
                        break
                    gnum = str2int_or_err(enum.get_text(), label, parent=self)
                    if gnum is None: break
                    trodes.append((i + 1, gname, gnum))
                else:
                    self.hide()
                    amp = Amp()
                    amp.extend(trodes)
                    return amp
            else:
                self.hide()
                return
Ejemplo n.º 4
0
    def get_amp(self):
        
        while 1:
            response = self.run()

            if response==gtk.RESPONSE_OK:
                trodes = []
                for i, tup in enumerate(self.entries):
                    label, ename, enum = tup
                    gname = ename.get_text()
                    if not len(gname):
                        error_msg('Empty grid name on channel %d' % i+1, parent=self)
                        break
                    gnum = str2int_or_err(enum.get_text(), label, parent=self)
                    if gnum is None: break
                    trodes.append( (i+1, gname, gnum) )
                else:
                    self.hide()
                    amp = Amp()
                    amp.extend(trodes)
                    return amp
            else:
                self.hide()
                return
Ejemplo n.º 5
0
    def validate(self, o):
        dlg = self['dlgReader']

        if o.readerClass!='vtkNiftiImageReader':
            if len(o.pattern)==0:
                msg = 'You must supply a number pattern for entry %s.\n' % \
                      self['labelPattern'].get_label() + 'Consider "%d"'
                return error_msg(msg, dlg)

            if o.pattern[0]!='%':
                msg = '%s format string must begin with a %%.\n' % \
                      self['labelPattern'].get_label() + 'Consider "%d"'
                return error_msg(msg, dlg)

        if widgets['radiobuttonDimOther'].get_active():
            dim1, dim2 = o.dimensions
            val = dim1 = str2posint_or_err(dim1, 'Other: dimension 1', dlg)
            if val is None: return None
            val = dim2 = str2posint_or_err(dim2, 'Other: dimension 2', dlg)
            if val is None: return None
            o.dimensions = dim1, dim2
            
        val = o.first = str2int_or_err(o.first, widgets['labelFirst'], dlg)
        if val is None:
            return None

        val = o.last = str2posint_or_err(o.last, widgets['labelLast'], dlg)
        if val is None: return None

        if o.readerClass!='vtkNiftiImageReader':
            fnames = self.get_file_names(o)
            for fname in fnames:
                print "validate(): doing fname ", fname
                if not os.path.exists(fname):
                    return error_msg('Could not find file %s' % fname, dlg)
                if o.readerClass=='vtkBMPReader':
                    reader = vtk.vtkBMPReader()
                    b = reader.CanReadFile(fname)
                    if not b:
                        return error_msg('Could not read file %s with reader %s'
                                         % (fname, o.readerClass), dlg)
        else:
            if len(o.extension) > 0:
                fname=os.path.join(o.dir,o.pattern+"."+o.extension)
                if not os.path.exists(fname):
                    return error_msg('Could not find file %s' % fname, dlg)
            else:
                fname=o.pattern
                files=os.listdir(o.dir)
                match=False
                for file in files:
                    file=file.split(".")
                    if len(file)>1:
                        if file[0]==fname:
                            if file[1] in ["nii","img","hdr"]:
                                match=True
                                break
                if not match:
                    return error_msg('Could not find file %s with extension nii, img, hdr [.gz]' % fname, dlg)

        # Depth Field Of View
        val = o.dfov = str2posnum_or_err(o.dfov, widgets['labelDFOV'], dlg)
        print "dfov=", val
        if val is None: return None

        # Spacing between slices
        val = o.spacing = str2posnum_or_err(
            o.spacing, widgets['labelSpacing'], dlg)
        print "spacing=", val
        if val is None: return None

        # Size of header
        if o.header=='': o.header = 0
        else:
           val = o.header = str2int_or_err(
              o.header, widgets['labelHeader'], dlg)
           if val is None: return None
        print "header=", val

        # Data mask
        if o.mask is not None:
           if o.mask=='': o.mask = None

           else:
               val = o.mask = str2int_or_err(
                   o.mask, widgets['labelMask'], dlg)
               if val is None: return None
        print "mask=", val

        return o