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
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)
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