morphfits.__main__ ================== .. py:module:: morphfits.__main__ .. autoapi-nested-parse:: Main program execution for morphology fitting. Attributes ---------- .. autoapisummary:: morphfits.__main__.app Functions --------- .. autoapisummary:: morphfits.__main__.galwrap morphfits.__main__.imcascade morphfits.__main__.pysersic morphfits.__main__.download morphfits.__main__.stamp morphfits.__main__.main Module Contents --------------- .. py:data:: app .. py:function:: galwrap(galfit_path: typing_extensions.Annotated[typer.FileBinaryRead, typer.Option(help='Path to GALFIT binary file.', rich_help_panel='Paths', exists=True, dir_okay=False, show_default=False, resolve_path=True)] = None, config_path: typing_extensions.Annotated[typer.FileText, typer.Option(help='Path to configuration settings YAML file.', rich_help_panel='Paths', exists=True, dir_okay=False, show_default=False, resolve_path=True)] = None, morphfits_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to MorphFITS filesystem root.', rich_help_panel='Paths', exists=True, file_okay=False, show_default=False, resolve_path=True)] = None, input_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to root input directory. Must be set here or in --config-path.', rich_help_panel='Paths', exists=True, file_okay=False, show_default=False, resolve_path=True)] = None, output_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to root output directory.', rich_help_panel='Paths', exists=True, file_okay=False, show_default=False, resolve_path=True, writable=True)] = None, product_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to root products directory.', rich_help_panel='Paths', exists=True, file_okay=False, show_default=False, resolve_path=True, writable=True)] = None, run_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to root runs directory.', rich_help_panel='Paths', exists=True, file_okay=False, show_default=False, resolve_path=True, writable=True)] = None, fields: typing_extensions.Annotated[Optional[List[str]], typer.Option('--field', '-F', help='Fields over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, image_versions: typing_extensions.Annotated[Optional[List[str]], typer.Option('--image-version', '-I', help='Image versions over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, catalog_versions: typing_extensions.Annotated[Optional[List[str]], typer.Option('--catalog-version', '-C', help='Catalog versions over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, filters: typing_extensions.Annotated[Optional[List[str]], typer.Option('--filter', '-L', help='Filters over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, objects: typing_extensions.Annotated[Optional[List[int]], typer.Option('--object', '-O', help='Object IDs over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, regenerate_products: typing_extensions.Annotated[bool, typer.Option('--regenerate-products', help='Regenerate all products. Overrides other flags.', rich_help_panel='Products', is_flag=True)] = False, regenerate_stamps: typing_extensions.Annotated[bool, typer.Option('--regenerate-stamps', help='Regenerate all stamps. Must be set for other products to regenerate.', rich_help_panel='Products', is_flag=True)] = False, regenerate_psfs: typing_extensions.Annotated[bool, typer.Option('--regenerate-psfs', help='Regenerate all PSF crops.', rich_help_panel='Products', is_flag=True)] = False, regenerate_masks: typing_extensions.Annotated[bool, typer.Option('--regenerate-masks', help='Regenerate all bad pixel masks.', rich_help_panel='Products', is_flag=True)] = False, regenerate_sigmas: typing_extensions.Annotated[bool, typer.Option('--regenerate-sigmas', help='Regenerate all sigma maps.', rich_help_panel='Products', is_flag=True)] = False, keep_feedfiles: typing_extensions.Annotated[bool, typer.Option('--keep-feedfiles', help='Use existing GALFIT feedfiles.', rich_help_panel='Products', is_flag=True)] = False, skip_products: typing_extensions.Annotated[bool, typer.Option('--skip-products', help='Skip all product generation.', rich_help_panel='Stages', is_flag=True)] = False, skip_fits: typing_extensions.Annotated[bool, typer.Option('--skip-fits', help='Skip all fitting via GALFIT.', rich_help_panel='Stages', is_flag=True)] = False, make_plots: typing_extensions.Annotated[bool, typer.Option('--make-plots', help='Generate model visualizations.', rich_help_panel='Stages', is_flag=True)] = False, display_progress: typing_extensions.Annotated[bool, typer.Option('--display-progress', '-d', help='Display progress as a loading bar and suppress per-object logging.', is_flag=True)] = False) Model objects from given FICLs using GALFIT. .. py:function:: imcascade() [NOT IMPLEMENTED] Model objects from given FICLs using imcascade. .. py:function:: pysersic() [NOT IMPLEMENTED] Model objects from given FICLs using pysersic. .. py:function:: download(config_path: typing_extensions.Annotated[typer.FileText, typer.Option(help='Path to configuration settings YAML file.', rich_help_panel='Paths', exists=True, dir_okay=False, show_default=False, resolve_path=True)] = None, input_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to root input directory. Must be set here or in --config-path.', rich_help_panel='Paths', exists=True, file_okay=False, show_default=False, resolve_path=True)] = None, fields: typing_extensions.Annotated[Optional[List[str]], typer.Option('--field', '-F', help='Fields over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, image_versions: typing_extensions.Annotated[Optional[List[str]], typer.Option('--image-version', '-I', help='Image versions over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, catalog_versions: typing_extensions.Annotated[Optional[List[str]], typer.Option('--catalog-version', '-C', help='Catalog versions over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, filters: typing_extensions.Annotated[Optional[List[str]], typer.Option('--filter', '-L', help='Filters over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None, objects: typing_extensions.Annotated[Optional[List[int]], typer.Option('--object', '-O', help='Object IDs over which to run MorphFITS.', rich_help_panel='FICLOs', show_default=False)] = None) Download and unzip input files from the DJA archive. .. py:function:: stamp(input_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to root input directory.', show_default=False, exists=True, file_okay=False, rich_help_panel='Paths', resolve_path=True)], field: typing_extensions.Annotated[str, typer.Option('--field', '-F', show_default=False, help='Field over which to generate stamps.', rich_help_panel='FICL')], image_version: typing_extensions.Annotated[str, typer.Option('--image-version', '-I', show_default=False, help='Version of image processing over which to generate stamps.', rich_help_panel='FICL')], catalog_version: typing_extensions.Annotated[str, typer.Option('--catalog-version', '-C', show_default=False, help='Version of cataloguing from which object IDs are taken.', rich_help_panel='FICL')], filter: typing_extensions.Annotated[str, typer.Option('--filter', '-L', show_default=False, help='Filter over which to generate stamps.', rich_help_panel='FICL')], product_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to root product directory.', show_default='"products" directory created at --input-root level', exists=True, file_okay=False, rich_help_panel='Paths', resolve_path=True, writable=True)] = None, output_root: typing_extensions.Annotated[pathlib.Path, typer.Option(help='Path to root output directory.', show_default='"output" directory created at --input-root level', exists=True, file_okay=False, rich_help_panel='Paths', resolve_path=True, writable=True)] = None) [IN DEVELOPMENT] Generate stamp cutouts of all objects from a given FICL. .. py:function:: main()