code: def convert_to_dict(self) -> dict:
      # Convert compound path into separate files and directories
      if (
          self.fitted_operation_path is not None
          and os.sep in self.fitted_operation_path
      ):
          fitted_path = os.path.split(self.fitted_operation_path)
      else:
          fitted_path = self.fitted_operation_path
  
      operation_object = {
          "operation_id": self.operation_id,
          "operation_type": self.operation_type,
          "operation_name": self.operation_name,
          "custom_params": self.custom_params,
          "params": self.params,
          "nodes_from": self.nodes_from,
          "fitted_operation_path": fitted_path,
          "rating": self.rating,
      }
  
      return operation_object
  
imports: import os
  from abc import ABC, abstractmethod
  from io import BytesIO
  from typing import Any, Optional, Union
  import joblib
  import numpy
  from golem.core.log import default_log
  from fedot.core.pipelines.node import PipelineNode
label_desc: Use image node_id 5 for calling the OperationTemplate obj's underlying member method code with example usage: obj.convert_to_dict() and returns: operation_object