Код: Выделить всё
import os
rule segment:
input:
img="data/raw/{file}.tif",
output:
segmentation="data/segmentations/{file}.tif",
script: "src/segment.py"
rule backup:
input:
img="data/segmentations/{file}_manual.tif",
output:
img="data/backup/{file}_manual.tif",
shell: "cp {input.img} {output.img}"
def analyze_input_func(wildcards):
path = "data/segmentations"
auto_path = os.path.join(path, f"{wildcards.file}.tif")
manual_path = auto_path.replace(".tif", "_manual.tif")
if os.path.isfile(manual_path):
backup_path = f"data/backup/{wildcards.file}_manual.tif"
return {
"segmentation": manual_path,
"backup": backup_path,
}
else:
return {"segmentation": auto_path}
rule analyse:
input:
unpack(analyze_input_func),
output:
csv="data/properties/{file}.csv",
script: "src/analyse.py"
< /code>
У вас есть предложения о том, как улучшить этот рабочий процесс? Я чувствую, что этот рабочий процесс может быть написан более элегантно. Особенно, как путь к данным/сегментациям/{file} .tif
Подробнее здесь: https://stackoverflow.com/questions/795 ... lly-backup