예제 #1
0
 def draw_survival_curves(self, **kw):
     name = kw['name']
     
     assert len(self.start_states_list) == len(self.end_states_list), \
             "Incorrect start/end state lengths."
     
     titles, points_arrays, dt =  SurvivalCurve.survival_curves(self.patients, 
                                   zip(self.start_states_list, 
                                       self.end_states_list))
     SurvivalCurve.draw_survival_curves(titles, points_arrays, dt, name)
예제 #2
0
 def draw_histograms(self, label_to_func = 
                    {"Months Survival" : lambda pt: len(pt.states)}, **kw):
     val_array = []
     xlabels = []
     for (label, whatfunc) in label_to_func.items():
         vals = []
         for p in self.patients:
             vals.append(whatfunc(p))
         val_array.append(vals)
         xlabels.append(label)
         
     SurvivalCurve.histograms(val_array, xlabels, **kw)
예제 #3
0
    def combine_survival_curves(simulators, name):
        titles = []
        pts = []
        dts = []

        for s in simulators:
            t, p, dt =  SurvivalCurve.survival_curves(s.patients, 
                                      zip(s.start_states_list, 
                                          s.end_states_list))
            titles.extend(t)
            pts.extend(p)
            dts.append(dt)
            
            for title, points in s.survival_curve_arrays:
                titles.append(title)
                pts.append(points)
            
        SurvivalCurve.draw_survival_curves(titles, pts, dts[0], name)