1
0
mirror of https://github.com/upscayl/upscayl.git synced 2024-12-01 02:27:16 +01:00
upscayl/electron/utils/get-arguments.ts

192 lines
3.4 KiB
TypeScript
Raw Normal View History

2024-04-24 12:34:32 +02:00
import getModelScale from "@common/check-model-scale";
2023-09-10 20:00:49 +02:00
import { getPlatform } from "./get-device-specs";
2024-04-24 12:34:32 +02:00
import { ImageFormat } from "../types/types";
2023-04-29 02:18:19 +02:00
const slash: string = getPlatform() === "win" ? "\\" : "/";
2024-04-09 20:11:24 +02:00
export const getSingleImageArguments = ({
inputDir,
fullfileName,
outFile,
modelsPath,
model,
scale,
gpuId,
saveImageAs,
2024-04-20 17:44:42 +02:00
customWidth,
2024-04-09 20:11:24 +02:00
}: {
inputDir: string;
fullfileName: string;
outFile: string;
modelsPath: string;
model: string;
2024-04-24 12:34:32 +02:00
scale: string;
2024-04-09 20:11:24 +02:00
gpuId: string;
saveImageAs: ImageFormat;
2024-04-20 17:44:42 +02:00
customWidth: string;
2024-04-09 20:11:24 +02:00
}) => {
2024-04-24 12:34:32 +02:00
const modelScale = getModelScale(model);
let includeScale = modelScale !== scale && !customWidth;
2023-03-18 13:15:48 +01:00
return [
2024-04-24 12:34:32 +02:00
// INPUT IMAGE
2023-03-18 13:15:48 +01:00
"-i",
2023-04-29 02:18:19 +02:00
inputDir + slash + fullfileName,
2024-04-24 12:34:32 +02:00
// OUTPUT IMAGE
2023-03-18 13:15:48 +01:00
"-o",
outFile,
2024-04-24 12:34:32 +02:00
// OUTPUT SCALE
includeScale ? "-s" : "",
includeScale ? scale : "",
// MODELS PATH
2023-03-18 13:15:48 +01:00
"-m",
modelsPath,
2024-04-24 12:34:32 +02:00
// MODEL NAME
2023-03-18 13:15:48 +01:00
"-n",
model,
2024-04-24 12:34:32 +02:00
// GPU ID
gpuId ? "-g" : "",
gpuId ? gpuId : "",
// FORMAT
2023-03-18 13:15:48 +01:00
"-f",
saveImageAs,
2024-04-24 12:34:32 +02:00
// CUSTOM WIDTH
customWidth ? `-w` : "",
customWidth ? customWidth : "",
2023-03-18 13:15:48 +01:00
];
};
2024-04-09 20:11:24 +02:00
export const getDoubleUpscaleArguments = ({
inputDir,
fullfileName,
outFile,
modelsPath,
model,
gpuId,
saveImageAs,
}: {
inputDir: string;
fullfileName: string;
outFile: string;
modelsPath: string;
model: string;
gpuId: string;
saveImageAs: ImageFormat;
}) => {
2023-03-18 13:15:48 +01:00
return [
2024-04-24 12:34:32 +02:00
// INPUT IMAGE
2023-03-18 13:15:48 +01:00
"-i",
2023-04-29 02:18:19 +02:00
inputDir + slash + fullfileName,
2024-04-24 12:34:32 +02:00
// OUTPUT IMAGE
2023-03-18 13:15:48 +01:00
"-o",
outFile,
2024-04-24 12:34:32 +02:00
// MODELS PATH
2023-03-18 13:15:48 +01:00
"-m",
modelsPath,
2024-04-24 12:34:32 +02:00
// MODEL NAME
2023-03-18 13:15:48 +01:00
"-n",
model,
2024-04-24 12:34:32 +02:00
// GPU ID
gpuId ? `-g` : "",
gpuId ? gpuId : "",
// FORMAT
2023-03-18 13:15:48 +01:00
"-f",
saveImageAs,
];
};
2024-04-09 20:11:24 +02:00
export const getDoubleUpscaleSecondPassArguments = ({
outFile,
modelsPath,
model,
gpuId,
saveImageAs,
scale,
2024-04-20 17:44:42 +02:00
customWidth,
2024-04-09 20:11:24 +02:00
}: {
outFile: string;
modelsPath: string;
model: string;
gpuId: string;
saveImageAs: ImageFormat;
scale: string;
2024-04-20 17:44:42 +02:00
customWidth: string;
2024-04-09 20:11:24 +02:00
}) => {
2024-04-24 12:34:32 +02:00
const modelScale = getModelScale(model);
let includeScale = modelScale !== scale && !customWidth;
2023-03-18 13:15:48 +01:00
return [
2024-04-24 12:34:32 +02:00
// INPUT IMAGE
2023-03-18 13:15:48 +01:00
"-i",
outFile,
2024-04-24 12:34:32 +02:00
// OUTPUT IMAGE
2023-03-18 13:15:48 +01:00
"-o",
outFile,
2024-04-24 12:34:32 +02:00
// OUTPUT SCALE
includeScale ? "-s" : "",
includeScale ? scale : "",
// MODELS PATH
2023-03-18 13:15:48 +01:00
"-m",
modelsPath,
2024-04-24 12:34:32 +02:00
// MODEL NAME
2023-03-18 13:15:48 +01:00
"-n",
model,
2024-04-24 12:34:32 +02:00
// GPU ID
gpuId ? `-g` : "",
gpuId ? gpuId : "",
// FORMAT
"-f",
saveImageAs,
2024-04-24 12:34:32 +02:00
// CUSTOM WIDTH
customWidth ? `-w` : "",
customWidth ? customWidth : "",
2023-03-18 13:15:48 +01:00
];
};
2024-04-09 20:11:24 +02:00
export const getBatchArguments = ({
inputDir,
outputDir,
modelsPath,
model,
gpuId,
saveImageAs,
scale,
2024-04-20 17:44:42 +02:00
customWidth,
2024-04-09 20:11:24 +02:00
}: {
inputDir: string;
outputDir: string;
modelsPath: string;
model: string;
gpuId: string;
saveImageAs: ImageFormat;
scale: string;
2024-04-20 17:44:42 +02:00
customWidth: string;
2024-04-09 20:11:24 +02:00
}) => {
2024-04-24 12:34:32 +02:00
const modelScale = getModelScale(model);
let includeScale = modelScale !== scale && !customWidth;
2023-03-18 13:15:48 +01:00
return [
2024-04-24 12:34:32 +02:00
// INPUT IMAGE
2023-03-18 13:15:48 +01:00
"-i",
inputDir,
2024-04-24 12:34:32 +02:00
// OUTPUT IMAGE
2023-03-18 13:15:48 +01:00
"-o",
outputDir,
2024-04-24 12:34:32 +02:00
// OUTPUT SCALE
includeScale ? "-s" : "",
includeScale ? scale : "",
// MODELS PATH
2023-03-18 13:15:48 +01:00
"-m",
modelsPath,
2024-04-24 12:34:32 +02:00
// MODEL NAME
2023-03-18 13:15:48 +01:00
"-n",
model,
2024-04-24 12:34:32 +02:00
// GPU ID
gpuId ? `-g` : "",
gpuId ? gpuId : "",
// FORMAT
2023-03-18 13:15:48 +01:00
"-f",
saveImageAs,
2024-04-24 12:34:32 +02:00
// CUSTOM WIDTH
customWidth ? `-w` : "",
customWidth ? customWidth : "",
];
2023-03-18 13:15:48 +01:00
};