code: def test_process(self):
      notes = self.processor(sample_act_cnn)
      self.assertTrue(np.allclose(notes, sample_det))
      self.assertTrue(np.allclose(notes.shape, (8, 3)))
      # do not enforce complete notes (same result, though)
      self.processor.complete = False
      notes = self.processor(sample_act_cnn)
      self.assertTrue(np.allclose(notes.shape, (8, 3)))
      # try various thresholds
      self.processor.onset_threshold = 0.75
      notes = self.processor(sample_act_cnn)
      self.assertTrue(np.allclose(notes.shape, (6, 3)))
      self.processor.note_threshold = 0.99
      notes = self.processor(sample_act_cnn)
      self.assertTrue(np.allclose(notes.shape, (5, 3)))
      self.processor.complete = False
      notes = self.processor(sample_act_cnn)
      self.assertTrue(np.allclose(notes.shape, (5, 3)))
      self.processor.onset_threshold = 1
      notes = self.processor(sample_act_cnn)
      self.assertTrue(np.allclose(notes.shape, (0, 3)))
  
imports: from __future__ import absolute_import, division, print_function
  import unittest
  from os.path import join
  from madmom.features import Activations
  from madmom.features.notes import *
  from madmom.io import load_notes
  from .None import ACTIVATIONS_PATH, AUDIO_PATH, DETECTIONS_PATH
label_desc: Use image node_id 2 for calling the TestADSRNoteTrackingProcessorClass obj's underlying member method code with example usage: obj.test_process() without return types