コード例 #1
0
ファイル: mmalphabeta.py プロジェクト: unidesigner/morphforge
        def toReportLab(cls, alphaBetaChl, reportlabconfig, make_graphs):
            from reportlab.platypus import Paragraph, Table
            localElements = []
            localElements.append( Paragraph("Overview",reportlabconfig.styles['Heading3']) )
            
            # Summary:
            overviewTableData = [
                                 ["Max Conductance (gBar)", alphaBetaChl.conductance.rescale("mS/cm2") ],
                                 ["Reversal Potential", alphaBetaChl.reversalpotential.rescale("mV") ],
                                 ["Conductance Equation", "gBar * " + alphaBetaChl.eqn ],
                                ]
            
            localElements.append( Table(overviewTableData, style=reportlabconfig.listTableStyle) )
            
            
            # Plot out the States:
            for state,params in alphaBetaChl.statevars.iteritems():
                localElements.append( Paragraph("State: %s"%state,reportlabconfig.styles['Heading3']) )

            
                #Equations:
                eqns = [
                        "alpha(V) = (A+BV)/(C+exp( (V+D)/E) )",
                        "beta(V) = (A+BV)/(C+exp( (V+D)/E) )",
                        ]
                for eqn in eqns:
                    localElements.append( Paragraph(eqn,reportlabconfig.styles['Normal']) )  
                # Alpha Beta
                ReportLabTools.buildAlphaBetaTable( elements=localElements, 
                                         reportlabconfig=reportlabconfig, 
                                         title="Alpha", params=params[0] )   
                ReportLabTools.buildAlphaBetaTable( elements=localElements, 
                                         reportlabconfig=reportlabconfig, 
                                         title="Beta1", params=params[1] )
                
                
                if make_graphs:
                    # Figures:
                    fig = cls.PlotStateCurveSummary(alphaBetaChl, state, figsize=(5,5))
                    localElements.append( reportlabconfig.saveMPLToRLImage(fig, "somestate") )
                    import pylab
                    pylab.close( fig.fig )

            
            return localElements
コード例 #2
0
 def toReportLab(cls, alphaBetaBetaChl, reportlabconfig, make_graphs):
     from reportlab.platypus import Paragraph, Table
     localElements = []
     localElements.append( Paragraph("Overview",reportlabconfig.styles['Heading3']) )
     
     # Summary:
     overviewTableData = [
                          ["Channel Type", "AlphaBetaBetaChl"],
                          ["Max Conductance (gBar)", alphaBetaBetaChl.conductance],
                          ["Reversal Potential", alphaBetaBetaChl.reversalpotential],
                          ["Conductance Equation", "gBar * " + alphaBetaBetaChl.eqn],
                         ]
     localElements.append( Table(overviewTableData, style=reportlabconfig.listTableStyle) )
     
     
     # Plot out the States:
     for state,params in alphaBetaBetaChl.statevars.iteritems():
         localElements.append( Paragraph("State: %s"%state,reportlabconfig.styles['Heading3']) )
         
         
         if make_graphs:
             fig = Summarise_MM_AlphaBetaChannel.PlotStateCurveSummary(alphaBetaBetaChl, state, figsize=(5,5))
             localElements.append( reportlabconfig.saveMPLToRLImage(fig, "somestate") )
         
         
         localElements.append( Paragraph("Equations",reportlabconfig.styles['Heading4']) )
         
         #Equations:
         eqns = [
                 "beta2Threshold = %s"%alphaBetaBetaChl.beta2threshold,
                 "beta = beta1 if V less than beta2Threshold otherwise beta2",
                 "alpha(V) = (A+BV)/(C+exp( (V+D)/E) )",
                 "beta(V) = (A+BV)/(C+exp( (V+D)/E) )",
                 ]
         for eqn in eqns:
             localElements.append( Paragraph(eqn,reportlabconfig.styles['Normal']) )  
         
         # Alpha Beta
         ReportLabTools.buildAlphaBetaTable( elements=localElements, 
                                  reportlabconfig=reportlabconfig, 
                                  title="Alpha", params=params[0] )   
         ReportLabTools.buildAlphaBetaTable( elements=localElements, 
                                  reportlabconfig=reportlabconfig, 
                                  title="Beta1", params=params[1] )
         ReportLabTools.buildAlphaBetaTable( elements=localElements, 
                                  reportlabconfig=reportlabconfig, 
                                  title="Beta2", params=params[2] )
         
         
         
     return localElements