[repo] kind = "recipe" [[stages]] name = "master_bias" description = "Generate master bias" # disabled = true # can be used to prevent considering this stage (for debugging or whatever) # We should normally be inheriting this from a common base stage definition tool.name = "siril" # Notice: the following script should be shared between dual duo **and** single duo workflows. We shouldn't need to delcare it twice. script = ''' # Convert Bias Frames to .fit files link frames -out={process_dir} cd {process_dir} # Stack frames stack frames rej 3 3 -nonorm -out={output.base} ''' # Note: process_dir is provided automatically by the stage runner tasks # temporaries = ["pp_{light_base}*"] # inputs.name could eventually be optionally be specified. But currently they are alway auto generated. # in this case the 'name' will be "light" and therefore context["input"]["light"] will contain the information # about this input. # In the case of session based inputs the name will will be coded based on a combination of the session ID and the type. # context["input"]["light"].base = "light_s{session["id"]}" # e.g. light_s23 for session ID 23 [[stages.inputs]] # Auto find input light frames for the current session # Look for files in input repos, finding them by using the "relative" tag they contain kind = "session" # Formerly called "repo" type = "bias" # we are only applicable for sessions of type light frame # Note: we could possibly remove "type" and instead just make it a require "imagetyp" clause? # but leaving it here as 'special' means someday we could add it to the session query to improve performance # performance. [[stages.inputs.requires]] kind = "unprocessed" # master generation never wants to consume already processed frames # Note: require clauses are evaluated in order. So for 'min_count' we probably want to test that last, after all other filtering is done. [[stages.inputs.requires]] kind = "min_count" value = 2 # siril needs at least 2 frames to stack, raise an exception if not enough frames found accept_single = true # if only one frame is found, just reuse it as the output (no stacking needed) [[stages.outputs]] kind = "master"