# coding=utf-8 from __future__ import absolute_import, print_function import os from suanpan.app.arguments import Folder, String, Int, Float from suanpan.app import app from lib import cli @app.input(Folder(key="inputData")) @app.param(String(key="detector", default="cv2-dnn", help="cv2-dnn mtcnn s3fd")) @app.param(String(key="aligner", default="cv2-dnn", help="cv2-dnn fan")) @app.param( String(key="normalization", default="none", help="none clahe hist mean")) @app.param(Int(key="minSize", default=0, help="(0, 1080)")) @app.param(Float(key="blurThreshold", default=0.0, help="(0.0, 100.0)")) @app.output(Folder(key="outputData1")) @app.output(Folder(key="outputData2")) def SPExtractFace(context): args = context.args PARSER = cli.FullHelpArgumentParser() EXTRACT = cli.ExtractArgs(PARSER, "extract", "Extract the faces from pictures") ARGUMENTS = PARSER.parse_args([ "--input-dir", args.inputData, "--output-dir", args.outputData1,
import suanpan from suanpan.app import app from suanpan.app.arguments import String @app.input(String(key="inputData1", alias="name", default="Suanpan")) @app.output(String(key="outputData1", alias="result")) def hello_world(context): args = context.args return f"Hello World, {args.name}!" if __name__ == "__main__": suanpan.run(app)
# coding=utf-8 from __future__ import absolute_import, print_function from suanpan.app.arguments import Folder, String, Int from suanpan.app import app from mainscripts import VideoEd @app.input(Folder(key="inputData")) @app.param(String(key="ext", default="png")) @app.param(Int(key="factor", default=5)) @app.output(Folder(key="outputData")) def SPDenoise(context): args = context.args VideoEd.denoise_image_sequence(args.inputData, args.outputData, ext=args.ext, factor=args.factor) return args.outputData if __name__ == "__main__": SPDenoise()
# coding=utf-8 from __future__ import absolute_import, print_function import os from suanpan.app.arguments import String from suanpan.app import app from suanpan.storage import storage @app.output(String(key="modelDir")) def SPTrainSync(context): args = context.args path = os.path.split(str(args.modelDir))[0] storage.upload(path.replace("/sp_data/", ""), path) return "Model Saved..." if __name__ == "__main__": SPTrainSync()
# coding=utf-8 from __future__ import absolute_import, print_function from suanpan.app.arguments import Folder, String, Float, Int from suanpan.app import app from tools import cli from lib.cli import FullHelpArgumentParser @app.input(Folder(key="inputData")) @app.param( String( key="sortBy", default="face", help= "blur, face, face-cnn, face-cnn-dissim, face-yaw, hist, hist-dissim", )) @app.param( Float( key="refThreshold", default=-1.0, help="(-1.0, 10.0) Defaults: face-cnn 7.2, hist 0.3", )) @app.param(String(key="finalProcess", default="rename", help="folders, rename")) @app.param( String(key="groupBy", default="hist", help="blur, face-cnn, face-yaw, hist")) @app.param(Int(key="bins", default=5, help="(1, 100)")) @app.output(Folder(key="outputData"))
# coding=utf-8 from __future__ import absolute_import, print_function from pm4py.algo.discovery.dfg import factory as dfg_miner from pm4py.objects.conversion.log.factory import apply as df_to_log from suanpan.app import app from suanpan.app.arguments import Json, Csv, String, Bool from utils.csv import convert_df_pm_format from utils.dfg import dfg_vis, find_start_end @app.input(Csv(key="inputData1", alias="inputData")) @app.param( String(key="param1", alias="measure", default="performance", help="performance, frequency")) @app.param(Bool(key="param2", alias="hideStartEndNode", default=False)) @app.output(Json(key="outputData1", alias="outputData")) def SPDFG(context): args = context.args df = convert_df_pm_format(args.inputData) log = df_to_log(df) dfg = dfg_miner.apply(log, variant=args.measure) params = {} if not args.hideStartEndNode: start, end = find_start_end(dfg) params = {"start_activities": start, "end_activities": end} outputData = dfg_vis(dfg, log=log, parameters=params, measure=args.measure) return outputData
annot = data["metadata"] names = pd.read_csv(csv_path, header=None) for key in annot.keys(): x, y, w, h = annot[key]['xy'][1:] for i in names[0]: # 无列头 用0 new_txt = i pt1 = (x, y) pt2 = (x + w, y + h) text_edit(image_path, pt1, pt2, new_txt, color) @app.input(Folder(key="inputData1")) @app.input(Folder(key="inputData2")) @app.input(Folder(key="inputData3")) @app.param(String(key="param1")) @app.param(String(key="param2")) @app.output(Folder(key="outputData1")) def image_edit(context): args = context.args print("*" * 20) print(args.inputData1) dir_name = args.inputData1 global color color = colors[args.param1] print(color) global font font = fonts[args.param2] print(font) image_path = glob("%s/*.jpg" % args.inputData2)[0]
# coding=utf-8 from __future__ import absolute_import, print_function import os from suanpan.app.arguments import Folder, String, Int, Bool from suanpan.app import app @app.input(Folder(key="inputData")) @app.input(Folder(key="alignedDir")) @app.input(Folder(key="modelDir")) @app.param(Bool(key="__edit", default=False)) @app.param( String( key="modelName", default="SAE", help="AVATAR, DF, H64, H128, LIAEF128, SAE, DEV_FANSEG", )) @app.param(Int(key="forceGpuIdx", default=-1)) @app.param(Bool(key="cpuOnly", default=False)) @app.output(Folder(key="outputData")) def SPConvertLab(context): args = context.args convert_args = { "input_dir": args.inputData, "output_dir": args.outputData, "aligned_dir": args.alignedDir, "model_dir": args.modelDir, "model_name": args.modelName, }
# coding=utf-8 from __future__ import absolute_import, print_function from suanpan.app.arguments import Folder, String, Int from suanpan.app import app from mainscripts import VideoEd from utils import get_all_files @app.input(Folder(key="inputData")) @app.param(String(key="fromTime", default="00:00:00.000")) @app.param(String(key="toTime", default="00:00:01.000")) @app.param(Int(key="audioTrackId", default=0)) @app.param(Int(key="bitrate", default=25)) @app.output(Folder(key="outputData")) def SPCutVideo(context): args = context.args fileList = get_all_files(args.inputData) VideoEd.cut_video( fileList[0], args.outputData, args.fromTime, args.toTime, args.audioTrackId, args.bitrate, ) return args.outputData
# coding=utf-8 from __future__ import absolute_import, print_function import os from suanpan.app.arguments import Folder, String, Int, Bool from suanpan.app import app from mainscripts import VideoEd from utils import get_all_files @app.input(Folder(key="inputData")) @app.input(Folder(key="referenceFolder")) @app.param(String(key="fileName", default="media.mp4")) @app.param(String(key="ext", default="png", help="jpg png")) @app.param(Int(key="fps", default=25)) @app.param(Int(key="bitrate", default=16)) @app.param(Bool(key="lossless", default=False)) @app.output(Folder(key="outputData")) def SPVideoFromSequence(context): args = context.args if args.referenceFolder: referenceFile = get_all_files(args.referenceFolder) VideoEd.video_from_sequence( args.inputData, os.path.join(args.outputData, args.fileName), referenceFile[0], args.ext, args.fps, args.bitrate, args.lossless,
# coding=utf-8 from __future__ import absolute_import, print_function from suanpan.app.arguments import Folder, String, Bool from suanpan.app import app from mainscripts import Extractor @app.input(Folder(key="inputData")) @app.param( String( key="faceType", default="full_face", help= "['half_face', 'full_face', 'head', 'full_face_no_align', 'mark_only']", )) @app.param(String(key="detector", default="s3fd", help="['dlib','mt','s3fd']")) @app.param(Bool(key="multiGpu", default=False)) @app.param(Bool(key="cpuOnly", default=False)) @app.output(Folder(key="outputData")) def SPExtractFaceLab(context): args = context.args Extractor.main( args.inputData, args.outputData, debug_dir=None, detector=args.detector, manual_fix=False, manual_output_debug_fix=False, manual_window_size=1368,
import os from suanpan.app.arguments import Folder, Int, String, Bool from suanpan.app import app from lib import cli @app.input(Folder(key="inputData1")) @app.input(Folder(key="alignments1")) @app.input(Folder(key="inputData2")) @app.input(Folder(key="alignments2")) @app.param(Int(key="batchSize", default=4, help="64 (2, 256)")) @app.param( String( key="trainer", default="original", help= "original dfaker dfl-h128 dfl-sae iae lightweight realface unbalanced villain", )) @app.param(Int(key="iterations", default=10000, help="1000000 (0, 5000000)")) @app.param(Int(key="__gpu", default=0)) @app.param(Bool(key="allowGrowth", default=False)) @app.param(Bool(key="warpToLandmarks", default=False)) @app.param(Bool(key="noFlip", default=False)) @app.param(Bool(key="noAugmentColor", default=False)) @app.output(Folder(key="outputModel")) def SPTrain(context): args = context.args PARSER = cli.FullHelpArgumentParser() TRAIN = cli.TrainArgs( PARSER, "train",
from __future__ import absolute_import, print_function import os from suanpan.app.arguments import Folder, String, Int from suanpan.app import app from lib import cli from utils import get_all_files @app.input(Folder(key="inputData1")) @app.input(Folder(key="inputData2")) @app.input(Folder(key="inputModel")) @app.param( String( key="colorAdjustment", default="avg-color", help= "avg-color color-transfer manual-balance match-hist seamless-clone none", )) @app.param(Int(key="__gpu", default=0)) @app.param( String( key="maskType", default="predicted", help="components dfl_full extended facehull predicted none", )) @app.param(String(key="scaling", default="none", help="sharpen none")) @app.output(Folder(key="outputData")) def SPConvert(context): args = context.args video = get_all_files(args.refVideo)[0] if args.refVideo else args.refVideo
# coding=utf-8 from __future__ import absolute_import, print_function from suanpan.app.arguments import Folder, String from suanpan.app import app from mainscripts import Sorter @app.input(Folder(key="inputData")) @app.param( String( key="sortByMethod", default="blur", help= '("blur", "face", "face-dissim", "face-yaw", "face-pitch", "hist", "hist-dissim", "brightness", "hue", "black", "origname", "oneface", "final", "final-no-blur", "test")', )) @app.output(Folder(key="outputData")) def SPSortLab(context): args = context.args Sorter.main(input_path=args.inputData, sort_by_method=args.sortByMethod) return args.inputData if __name__ == "__main__": SPSortLab()
# coding=utf-8 from __future__ import absolute_import, print_function import os from suanpan.app.arguments import String from suanpan.app import app from suanpan.storage import storage @app.output(String(key="outputData")) def SPConvertSync(context): args = context.args path = os.path.split(str(args.outputData))[0] storage.upload(path.replace("/sp_data/", ""), path) return "Images Saved..." if __name__ == "__main__": SPConvertSync()
# coding=utf-8 from __future__ import absolute_import, print_function from suanpan.app.arguments import Folder, String, Int from suanpan.app import app from mainscripts import VideoEd from utils import get_all_files @app.input(Folder(key="inputData")) @app.param(String(key="outputExt", default="png", help="jpg png")) @app.param(Int(key="fps", default=0)) @app.output(Folder(key="outputData")) def SPExtractVideo(context): args = context.args inputFile = get_all_files(args.inputData) VideoEd.extract_video(inputFile[0], args.outputData, args.outputExt, args.fps) return args.outputData if __name__ == "__main__": SPExtractVideo()