code: def fit_matern_gp_with_dataset(dataset, nu=-1.0):
      """A wrapper to fit a GP with a matern kernel using the dataset."""
      options = load_options(euclidean_gp_args)
      options.kernel_type = "matern"
      options.matern_nu = nu
      ret_fit_gp = (
          EuclideanGPFitter(
              dataset[0], dataset[1], options=options, reporter=None
          )
      ).fit_gp()
      assert ret_fit_gp[0] == "fitted_gp"
      return ret_fit_gp[1]
  
imports: from __future__ import division
  import unittest
  import numpy
  from .euclidean_gp import EuclideanGP, EuclideanGPFitter, euclidean_gp_args
  from .unittest_gp_core import compute_average_prediction_error
  from .unittest_gp_core import gen_gp_test_data
  from ..utils.base_test_class import BaseTestClass, execute_tests
  from ..utils.option_handler import load_options
label_desc: Use image node_id 5 for calling a global function with example usage: fit_matern_gp_with_dataset(dataset, nu) and returns: ret_fit_gp