1
0
mirror of https://github.com/upscayl/upscayl.git synced 2024-11-24 15:40:21 +01:00
upscayl/electron/utils/get-arguments.ts

192 lines
3.4 KiB
TypeScript

import getModelScale from "../../common/check-model-scale";
import { getPlatform } from "./get-device-specs";
import { ImageFormat } from "../types/types";
const slash: string = getPlatform() === "win" ? "\\" : "/";
export const getSingleImageArguments = ({
inputDir,
fullfileName,
outFile,
modelsPath,
model,
scale,
gpuId,
saveImageAs,
customWidth,
}: {
inputDir: string;
fullfileName: string;
outFile: string;
modelsPath: string;
model: string;
scale: string;
gpuId: string;
saveImageAs: ImageFormat;
customWidth: string;
}) => {
const modelScale = getModelScale(model);
let includeScale = modelScale !== scale && !customWidth;
return [
// INPUT IMAGE
"-i",
inputDir + slash + fullfileName,
// OUTPUT IMAGE
"-o",
outFile,
// OUTPUT SCALE
includeScale ? "-s" : "",
includeScale ? scale : "",
// MODELS PATH
"-m",
modelsPath,
// MODEL NAME
"-n",
model,
// GPU ID
gpuId ? "-g" : "",
gpuId ? gpuId : "",
// FORMAT
"-f",
saveImageAs,
// CUSTOM WIDTH
customWidth ? `-w` : "",
customWidth ? customWidth : "",
];
};
export const getDoubleUpscaleArguments = ({
inputDir,
fullfileName,
outFile,
modelsPath,
model,
gpuId,
saveImageAs,
}: {
inputDir: string;
fullfileName: string;
outFile: string;
modelsPath: string;
model: string;
gpuId: string;
saveImageAs: ImageFormat;
}) => {
return [
// INPUT IMAGE
"-i",
inputDir + slash + fullfileName,
// OUTPUT IMAGE
"-o",
outFile,
// MODELS PATH
"-m",
modelsPath,
// MODEL NAME
"-n",
model,
// GPU ID
gpuId ? `-g` : "",
gpuId ? gpuId : "",
// FORMAT
"-f",
saveImageAs,
];
};
export const getDoubleUpscaleSecondPassArguments = ({
outFile,
modelsPath,
model,
gpuId,
saveImageAs,
scale,
customWidth,
}: {
outFile: string;
modelsPath: string;
model: string;
gpuId: string;
saveImageAs: ImageFormat;
scale: string;
customWidth: string;
}) => {
const modelScale = (parseInt(getModelScale(model)) ** 2).toString();
let includeScale = modelScale !== scale && !customWidth;
return [
// INPUT IMAGE
"-i",
outFile,
// OUTPUT IMAGE
"-o",
outFile,
// OUTPUT SCALE
includeScale ? "-s" : "",
includeScale ? scale : "",
// MODELS PATH
"-m",
modelsPath,
// MODEL NAME
"-n",
model,
// GPU ID
gpuId ? `-g` : "",
gpuId ? gpuId : "",
// FORMAT
"-f",
saveImageAs,
// CUSTOM WIDTH
customWidth ? `-w` : "",
customWidth ? customWidth : "",
];
};
export const getBatchArguments = ({
inputDir,
outputDir,
modelsPath,
model,
gpuId,
saveImageAs,
scale,
customWidth,
}: {
inputDir: string;
outputDir: string;
modelsPath: string;
model: string;
gpuId: string;
saveImageAs: ImageFormat;
scale: string;
customWidth: string;
}) => {
const modelScale = getModelScale(model);
let includeScale = modelScale !== scale && !customWidth;
return [
// INPUT IMAGE
"-i",
inputDir,
// OUTPUT IMAGE
"-o",
outputDir,
// OUTPUT SCALE
includeScale ? "-s" : "",
includeScale ? scale : "",
// MODELS PATH
"-m",
modelsPath,
// MODEL NAME
"-n",
model,
// GPU ID
gpuId ? `-g` : "",
gpuId ? gpuId : "",
// FORMAT
"-f",
saveImageAs,
// CUSTOM WIDTH
customWidth ? `-w` : "",
customWidth ? customWidth : "",
];
};