code: def test_tractogram_copy(self):
      # Create a copy of a tractogram.
      tractogram = DATA["tractogram"].copy()
  
      # Check we copied the data and not simply created new references.
      assert tractogram is not DATA["tractogram"]
      assert (
          tractogram.streamlines is not DATA["tractogram"].streamlines
      )
      assert (
          tractogram.data_per_streamline
          is not DATA["tractogram"].data_per_streamline
      )
      assert (
          tractogram.data_per_point
          is not DATA["tractogram"].data_per_point
      )
  
      for key in tractogram.data_per_streamline:
          assert (
              tractogram.data_per_streamline[key]
              is not DATA["tractogram"].data_per_streamline[key]
          )
  
      for key in tractogram.data_per_point:
          assert (
              tractogram.data_per_point[key]
              is not DATA["tractogram"].data_per_point[key]
          )
  
      # Check the values of the data are the same.
      assert_tractogram_equal(tractogram, DATA["tractogram"])
  
imports: import copy
  import operator
  import sys
  import unittest
  import warnings
  from collections import defaultdict
  import numpy
  import pytest
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  from ...testing import assert_arrays_equal, clear_and_catch_warnings
  from ..None import tractogram
  from ..tractogram import LazyDict, LazyTractogram, PerArrayDict, PerArraySequenceDict, Tractogram, TractogramItem, is_data_dict, is_lazy_dict
label_desc: Use image node_id 5 for calling the TestTractogram obj's underlying member method code with example usage: obj.test_tractogram_copy() without return types