code: def templateLengthProcessData(
      self,
      path_to_file,
      amount_clusters,
      expected_cluster_length,
      ccore,
  ):
      sample = read_sample(path_to_file)
  
      somsc_instance = somsc(sample, amount_clusters, 100, ccore)
      somsc_instance.process()
  
      clusters = somsc_instance.get_clusters()
  
      obtained_cluster_sizes = [len(cluster) for cluster in clusters]
      self.assertEqual(len(sample), sum(obtained_cluster_sizes))
  
      if expected_cluster_length is not None:
          obtained_cluster_sizes.sort()
          expected_cluster_length.sort()
          self.assertEqual(
              obtained_cluster_sizes, expected_cluster_length
          )
  
file_path: pyclustering/pyclustering/cluster/tests/somsc_templates.py
imports: import numpy
  import unittest
  from pyclustering.cluster.somsc import somsc
  from pyclustering.utils import read_sample
  from random import random
label_desc: Use image node_id 1 for calling the SyncnetTestTemplates obj's underlying member method code with example usage: obj.templateLengthProcessData(path_to_file, amount_clusters, expected_cluster_length, ccore) without return types