Changeset 974


Ignore:
Timestamp:
04/03/06 16:38:28 (18 years ago)
Author:
mar637
Message:

Completed Ticket #7 - storing of fits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/asapfit.py

    r722 r974  
    1 from _asap import sdfit
     1from _asap import fitentry
    22from asap import rcParams
    33
    4 class asapfit(sdfit):
     4class asapfit(fitentry):
    55
    6     def __init__(self, other):
    7         sdfit.__init__(self,other)
     6    def __init__(self, other=None):
     7        if isinstance(other, fitentry):
     8            fitentry.__init__(self,other)
     9        else:
     10            fitentry.__init__(self)
    811
    912    def __str__(self):
    10         if self.__len__() == 0:
    11             return "No fits"
    1213        out = ""
    13         for i in range(self.__len__()):
    14             out += "Fit No %d:" % (i)
    15             pars = self.getparameters(i)
    16             mask = self.getfixedparameters(i)
    17             funcs = self.getfunctions(i)
    18             comps = self.getcomponents(i)
    19             finfo = self.getframeinfo(i)
    20             pos=0
    21             k = 0
    22             for f in funcs:
    23                 out += "\n Type:         "
    24                 out += f
    25                 s = pos
    26                 pos += comps[k]
    27                 ps = pars[s:pos]
    28                 out += "\n  Parameters:  "
    29                 out += self._format_pars(pars[s:pos],f, finfo[0])
    30                 out += "\n  Fixed Parms: "
    31                 out += str(mask[s:pos])
    32                 out += "\n  Frame:       "
    33                 out += str(finfo)
    34                 out += "\n"
     14        out += "Fit:"
     15        pars = self.getparameters()
     16        mask = self.getfixedparameters()
     17        funcs = self.getfunctions()
     18        comps = self.getcomponents()
     19        finfo = self.getframeinfo()
     20        pos=0
     21        k = 0
     22        for f in funcs:
     23            out += "\n Type:         "
     24            out += f
     25            s = pos
     26            pos += comps[k]
     27            ps = pars[s:pos]
     28            out += "\n  Parameters:  "
     29            out += self._format_pars(pars[s:pos],f, finfo[0])
     30            out += "\n  Fixed Parms: "
     31            out += str(mask[s:pos])
     32            out += "\n  Frame:       "
     33            out += str(finfo)
    3534            out += "\n"
     35        out += "\n"
    3636        return out
    3737
    3838    def as_dict(self):
    3939        out = []
    40         for i in range(self.__len__()):
    41             pars = self.getparameters(i)
    42             mask = self.getfixedparameters(i)
    43             funcs = self.getfunctions(i)
    44             comps = self.getcomponents(i)
    45             pos=0
    46             k=0
    47             comp = []
    48             for f in funcs:
    49                 s = pos
    50                 pos += comps[k]
    51                 ps = pars[s:pos]
    52                 d = {'function' : f,
    53                      'parameters' : pars[s:pos],
    54                      'fixed' : mask[s:pos],
    55                      'frame' : self.getframeinfo(i)
    56                      }
    57                 comp.append(d)
    58             out.append(comp)
     40        pars = self.getparameters()
     41        mask = self.getfixedparameters()
     42        funcs = self.getfunctions()
     43        comps = self.getcomponents()
     44        pos=0
     45        k=0
     46        comp = []
     47        for f in funcs:
     48            s = pos
     49            pos += comps[k]
     50            ps = pars[s:pos]
     51            d = {'function' : f,
     52                  'parameters' : pars[s:pos],
     53                  'fixed' : mask[s:pos],
     54                  'frame' : self.getframeinfo()
     55                  }
     56            comp.append(d)
     57        out.append(comp)
    5958        return out
    60 
    6159
    6260    def _format_pars(self, pars, ftype, unit):
     
    7068        elif ftype == 'gauss':
    7169            out += 'peak = %3.3f , centre = %3.3f %s, FWHM = %3.3f %s' % (pars[0],pars[1],unit,pars[2],unit)
    72 
    7370        return out
Note: See TracChangeset for help on using the changeset viewer.