[repo] kind = "recipe" [recipe] description = "Remove stars from an image with StarNet (via Siril), producing a starless image and a star mask." [[stages]] name = "starnet" description = "Star removal with StarNet via Siril" tool.name = "starnet" # Siril's 'starnet' command writes starless_.fit and starmask_.fit into # the working directory (process_dir). We load each result by basename and re-save it # to the declared output paths. script = ''' load "{input[0].full_paths[0]}" starnet {parameters.params} load "starless_{input[0].full_paths[0].stem}.fit" save "{output.full_paths[0]}" load "starmask_{input[0].full_paths[0].stem}.fit" save "{output.full_paths[1]}" ''' [[stages.inputs]] kind = "job" after = "palette.*" # run on the palette output multiplex = true [[stages.inputs.requires]] kind = "min_count" value = 1 # Two outputs (starless + starmask) are declared as a single output block with a # name list; entries are context-expanded so names stay unique per input file. [[stages.outputs]] kind = "processed" name = [ "starless_{input[0].full_paths[0].stem}.fits", "starmask_{input[0].full_paths[0].stem}.fits", ] [[stages.parameters]] name = "params" default = "-stretch" description = "Options passed to the Siril 'starnet' command (e.g. -stretch, -upscale, -stride=value)"