def __init__(self, parameter, mtype=0):
     self.modeltype = mtype
     # check whether the parameter is an EmissionDomain
     if isinstance(parameter, ghmm.EmissionDomain):
         if parameter.CDataType is "int":
             self.HMM = ObjectHMM(State,
                                  Transition,
                                  alphabet=parameter,
                                  etype=0)
             self.modeltype |= ghmmwrapper.kDiscreteHMM
         elif parameter.CDataType is "double":
             self.HMM = ObjectHMM(
                 State,
                 Transition,
                 emissionClass=ContinuousMixtureDistribution,
                 etype=1)
             self.modeltype |= ghmmwrapper.kContinuousHMM
         else:
             raise ghmm.NoValidCDataType, "C data type " + str(
                 parameter.CDataType) + " invalid."
         self.HMM.initHMM(self.modeltype)
     # Distribution parameter
     elif type(parameter) is type:
         self.HMM = ObjectHMM(State,
                              Transition,
                              emissionClass=parameter,
                              etype=1)
         self.modeltype |= ghmmwrapper.kContinuousHMM
         self.HMM.initHMM(self.modeltype)
     # existing hidden markov model
     elif isinstance(parameter, ghmm.HMM):
         hmm = parameter
         self.HMM = ObjectHMM(State, Transition)
         if isinstance(hmm, ghmm.DiscreteEmissionHMM):
             self.modeltype = hmm.cmodel.model_type
             if hmm.cmodel.alphabet is None:
                 hmm.cmodel.alphabet = self.emissionDomain.toCstruct()
         else:
             self.modeltype = ghmmwrapper.ContinuousHMM
         self.HMM.initHMM(self.modeltype)
         self.HMM.buildFromCModel(hmm.cmodel)
     # filename
     elif isinstance(parameter, str) or isinstance(parameter, unicode):
         self.load(parameter)
     else:
         raise ghmm.UnknownInputType
示例#2
0
    def __init__(self, master=None):
        self.modeltype = 0;
        SAGraphEditor.__init__(self, master)

        self.cEdgeDefault   = '#888888'
        self.cLabelDefault  = 'black' #'#FF8000' # 230 215 0
        self.cVertexDefault = 'red' #'#007EE0' # 0 125 230
        self.SetTitle("HMMEd _VERSION_")
        
        self.G = ObjectHMM.ObjectHMM(ObjectHMM.State, ObjectHMM.Transition)
示例#3
0
    def NewGraph(self):
        d = HMMTypeChooser(self.master)

        if d.etype == 'open':
            self.OpenGraph()
            return
        else:
            self.G = ObjectHMM.ObjectHMM(ObjectHMM.State, ObjectHMM.Transition, etype=d.etype)

        self.G.edit(self)

        self.graphName = "New"
        self.ShowGraph(self.G, self.graphName)
        #self.RegisterGraphInformer(HMMInformer(self.G))
        self.fileName = None
        self.SetTitle("HMMEd _VERSION_")
        self.modeltype = self.G.modelType
        self.makeMenuBar()
        self.SetGraphMenuOptions()
 def load(self, filename):
     self.HMM = ObjectHMM(State, Transition)
     self.HMM.openXML(filename)
     self.modeltype = self.HMM.modelType