code: def initialize(
      self,
      basedir,
      resource_dir,
      source_dir,
      template,
      priority=DEFAULT_FILE_STORAGE_PRIORITY,
      copy_artifacts=True,
      copy_sources=True,
  ):
      self.basedir = str(basedir)
      self.resource_dir = resource_dir
      self.source_dir = source_dir
      self.template = template
      self.priority = priority
      self.copy_artifacts = copy_artifacts
      self.copy_sources = copy_sources
      self.dir = None
      self.run_entry = None
      self.config = None
      self.info = None
      self.cout = ""
      self.cout_write_cursor = 0
  
imports: import json
  import os
  import os.path
  from pathlib import Path
  from typing import Optional
  import warnings
  from shutil import copyfile, SameFileError
  from sacred.commandline_options import cli_option
  from sacred.dependencies import get_digest
  from sacred.observers.base import RunObserver
  from sacred import optional
  from sacred.serializer import flatten
  from sacred.utils import PathType
label_desc: Use image node_id 3 for calling the FileStorageObserver obj's underlying member method code with example usage: obj.initialize(basedir, resource_dir, source_dir, template, priority, copy_artifacts, copy_sources) without return types