code: def __init__(
      self, parser: ArgumentParser, name: str, fill_none=False
  ):
      group = parser.add_argument_group(name)
      for key, value in vars(self).items():
          shorthand = False
          if key.startswith("_"):
              shorthand = True
              key = key[1:]
          t = type(value)
          value = value if not fill_none else None
          if shorthand:
              if t == bool:
                  group.add_argument(
                      "--" + key,
                      ("-" + key[0:1]),
                      default=value,
                      action="store_true",
                  )
              else:
                  group.add_argument(
                      "--" + key,
                      ("-" + key[0:1]),
                      default=value,
                      type=t,
                  )
          else:
              if t == bool:
                  group.add_argument(
                      "--" + key, default=value, action="store_true"
                  )
              else:
                  group.add_argument("--" + key, default=value, type=t)
  
file_path: gaussian-splatting/arguments/__init__.py
imports: from argparse import ArgumentParser, Namespace
  import sys
  import os
label_desc: Use image node_id 1 to create a new ParamGroup object  with example: obj = ParamGroup(parser, name, fill_none)