class_docstr: Tracks pipeline progress and estimates time to completion 
code: def update_multiprocessing(self, event=None):
      if self.num_jobs > self.num_received:
          status = "Processing: %d of %d image sets completed" % (
              self.num_received,
              self.num_jobs,
          )
          self.update_callback(
              status,
              self.elapsed_time(),
              self.remaining_time_multiprocessing(),
          )
      else:
          status = "Post-processing, please wait"
          self.update_callback(status, self.elapsed_time())
  
file_path: CellProfiler/src/frontend/cellprofiler/gui/preferences_view/_progress_watcher.py
imports: import time
  import numpy
  import wx
label_desc: Use image node_id 4 for calling the ProgressWatcher obj's underlying member method code with example usage: obj.update_multiprocessing(event) without return types