Get the tool parameters

        :return: The tool parameters along with additional information (whether they are functions or sets)

def parameters(self):
        """
        Get the tool parameters

        :return: The tool parameters along with additional information (whether they are functions or sets)
        """
        parameters = []
        for k, v in self.__dict__.items():
            if k.startswith("_"):
                continue

            is_function = False
            is_set = False

            if callable(v):
                value = pickle.dumps(func_dump(v))
                is_function = True
            elif isinstance(v, set):
                value = list(v)
                is_set = True
            else:
                value = v

            parameters.append(dict(
                key=k,
                value=value,
                is_function=is_function,
                is_set=is_set
            ))

        return parameters