def from_json(self, js, groups: Iterable[Group]):
        """ this function will load the functional channel object 
        from a json object and the given groups 
        
        Args:
            js(dict): the json object
            groups(Iterable[Group]): the groups for referencing
        """
        self.index = js["index"]
        self.groupIndex = js["groupIndex"]
        self.label = js["label"]
        self.functionalChannelType = FunctionalChannelType.from_str(
            js["functionalChannelType"], js["functionalChannelType"]
        )
        self.groups = []
        for id in js["groups"]:
            for g in groups:
                if g.id == id:
                    self.groups.append(g)
                    break
this function will load the functional channel object 
        from a json object and the given groups 
        
        Args:
            js(dict): the json object
            groups(Iterable[Group]): the groups for referencing