From f839df5e019b1e0e4f98459d239db5a122c2b04c Mon Sep 17 00:00:00 2001
From: Nayam Amarshe <25067102+NayamAmarshe@users.noreply.github.com>
Date: Sat, 17 Sep 2022 15:10:47 +0530
Subject: [PATCH] Updated Double Upscayl
---
main/commands.js | 6 +-
main/index.js | 128 +++++++++---------
main/models.js | 0
main/utils.js | 25 ++++
renderer/components/LeftPaneSteps.jsx | 38 +++---
renderer/components/ProgressBar.jsx | 15 +-
renderer/pages/index.jsx | 39 +++---
.../models}/realesrgan-x4plus-anime.bin | Bin
.../models}/realesrgan-x4plus-anime.param | 0
sharpened/Trollface_non-free.png | Bin 82578 -> 0 bytes
sharpened/Trollface_non-free_sharpen.png | Bin 1317786 -> 0 bytes
sharpened/to_upscale_sharpen.jpeg | Bin 832298 -> 0 bytes
.../to_upscale.jpeg => to_upscale copy.jpeg | Bin
13 files changed, 133 insertions(+), 118 deletions(-)
delete mode 100644 main/models.js
create mode 100644 main/utils.js
rename {models/future-use => resources/models}/realesrgan-x4plus-anime.bin (100%)
rename {models/future-use => resources/models}/realesrgan-x4plus-anime.param (100%)
delete mode 100644 sharpened/Trollface_non-free.png
delete mode 100644 sharpened/Trollface_non-free_sharpen.png
delete mode 100644 sharpened/to_upscale_sharpen.jpeg
rename sharpened/to_upscale.jpeg => to_upscale copy.jpeg (100%)
diff --git a/main/commands.js b/main/commands.js
index 4aa1284..49efe00 100644
--- a/main/commands.js
+++ b/main/commands.js
@@ -4,9 +4,9 @@ const commands = {
UPSCAYL: "Upscale the Image",
UPSCAYL_DONE: "Upscaling Done",
UPSCAYL_PROGRESS: "Send Progress from Main to Renderer",
- SHARPEN: "Sharpen the Image First",
- SHARPEN_PROGRESS: "Send Sharpening Progress from Main to Renderer",
- SHARPEN_DONE: "Sharpening Done",
+ DOUBLE_UPSCAYL: "Double Upscale the Image",
+ DOUBLE_UPSCAYL_DONE: "Double Upscaling Done",
+ DOUBLE_UPSCAYL_PROGRESS: "Send Double Upscayl Progress from Main to Renderer",
};
module.exports = commands;
diff --git a/main/index.js b/main/index.js
index aa30582..e893229 100644
--- a/main/index.js
+++ b/main/index.js
@@ -105,46 +105,36 @@ ipcMain.handle(commands.SELECT_FOLDER, async (event, message) => {
}
});
-ipcMain.on(commands.SHARPEN, async (event, payload) => {
+ipcMain.on(commands.DOUBLE_UPSCAYL, async (event, payload) => {
const model = payload.model;
- const scale = payload.scaleFactor;
let inputDir = payload.imagePath.match(/(.*)[\/\\]/)[1] || "";
- const platform = getPlatform();
-
- let outputDir = platform === "win" ? ".\\sharpened" : "./sharpened";
- if (!fs.existsSync(outputDir)) {
- fs.mkdirSync(outputDir);
- }
+ let outputDir = payload.outputPath;
+ console.log(outputDir);
// COPY IMAGE TO TMP FOLDER
+ const platform = getPlatform();
const fullfileName =
platform === "win"
? payload.imagePath.split("\\").slice(-1)[0]
: payload.imagePath.split("/").slice(-1)[0];
const fileName = parse(fullfileName).name;
const fileExt = parse(fullfileName).ext;
+ const outFile = outputDir + "/" + fileName + "_upscayl_8x_" + model + fileExt;
- const inputFile = inputDir + "/" + fullfileName;
- const copiedInputFile = outputDir + "/" + fullfileName;
- const sharpenedFile = platform === "win" ? outputDir + "\\" + fileName + "_sharpen" + fileExt : outputDir + "/" + fileName + "_sharpen" + fileExt;
- const outFile =
- inputDir + "/" + fileName + "_upscayl_" + scale + "x_" + model + fileExt;
- fs.copyFile(inputFile, copiedInputFile, (err) => {
- if (err) throw err;
- });
-
- let sharpen = spawn(
- execPath("realsr"),
+ // UPSCALE
+ let upscayl = spawn(
+ execPath("realesrgan"),
[
"-i",
- copiedInputFile,
+ inputDir + "/" + fullfileName,
"-o",
- sharpenedFile,
+ outFile,
"-s",
4,
- "-x",
"-m",
- modelsPath + "/models-DF2K",
+ modelsPath,
+ "-n",
+ model,
],
{
cwd: null,
@@ -153,65 +143,77 @@ ipcMain.on(commands.SHARPEN, async (event, payload) => {
);
let failed = false;
- sharpen.stderr.on("data", (data) => {
- console.log(data.toString());
+ // TAKE UPSCAYL OUTPUT
+ upscayl.stderr.on("data", (data) => {
+ // CONVERT DATA TO STRING
data = data.toString();
- mainWindow.webContents.send(commands.SHARPEN_PROGRESS, data.toString());
+ // PRINT TO CONSOLE
+ console.log(data);
+ // SEND UPSCAYL PROGRESS TO RENDERER
+ mainWindow.webContents.send(commands.DOUBLE_UPSCAYL_PROGRESS, data);
+ // IF PROGRESS HAS ERROR, UPSCAYL FAILED
if (data.includes("invalid gpu") || data.includes("failed")) {
failed = true;
- sharpen.kill("SIGKILL");
- return;
}
});
- sharpen.on("close", (_) => {
- if (failed !== true) {
- console.log("Done sharpening: ", outFile);
- mainWindow.webContents.send(commands.SHARPEN_DONE, outFile);
- let upscayl = spawn(
+
+ // IF ERROR
+ upscayl.on("error", (data) => {
+ data.toString();
+ // SEND UPSCAYL PROGRESS TO RENDERER
+ mainWindow.webContents.send(commands.DOUBLE_UPSCAYL_PROGRESS, data);
+ // SET FAILED TO TRUE
+ failed = true;
+ return;
+ });
+
+ // ON UPSCAYL DONE
+ upscayl.on("close", (code) => {
+ // IF NOT FAILED
+ if (!failed) {
+ // UPSCALE
+ let upscayl2 = spawn(
execPath("realesrgan"),
- [
- "-i",
- sharpenedFile,
- "-o",
- outFile,
- "-s",
- scale === 2 ? 4 : scale,
- "-m",
- modelsPath,
- "-n",
- model,
- ],
+ ["-i", outFile, "-o", outFile, "-s", 4, "-m", modelsPath, "-n", model],
{
cwd: null,
detached: false,
}
);
- let failed = false;
- upscayl.stderr.on("data", (data) => {
- console.log(
- "🚀 => upscayl.stderr.on => stderr.toString()",
- data.toString()
- );
+
+ let failed2 = false;
+ // TAKE UPSCAYL OUTPUT
+ upscayl2.stderr.on("data", (data) => {
+ // CONVERT DATA TO STRING
data = data.toString();
- mainWindow.webContents.send(commands.UPSCAYL_PROGRESS, data.toString());
+ // PRINT TO CONSOLE
+ console.log(data);
+ // SEND UPSCAYL PROGRESS TO RENDERER
+ mainWindow.webContents.send(commands.DOUBLE_UPSCAYL_PROGRESS, data);
+ // IF PROGRESS HAS ERROR, UPSCAYL FAILED
if (data.includes("invalid gpu") || data.includes("failed")) {
- failed = true;
+ failed2 = true;
}
});
- upscayl.on("error", (data) => {
- mainWindow.webContents.send(commands.UPSCAYL_PROGRESS, data.toString());
- failed = true;
+
+ // IF ERROR
+ upscayl2.on("error", (data) => {
+ data.toString();
+ // SEND UPSCAYL PROGRESS TO RENDERER
+ mainWindow.webContents.send(commands.DOUBLE_UPSCAYL_PROGRESS, data);
+ // SET FAILED TO TRUE
+ failed2 = true;
return;
});
- // Send done comamnd when
- upscayl.on("close", (code) => {
- if (failed !== true) {
+
+ upscayl2.on("close", (code) => {
+ if (!failed2) {
console.log("Done upscaling");
- mainWindow.webContents.send(commands.UPSCAYL_DONE, outFile);
+ mainWindow.webContents.send(commands.DOUBLE_UPSCAYL_DONE, outFile);
}
- })
+ });
}
- })
+ });
});
ipcMain.on(commands.UPSCAYL, async (event, payload) => {
@@ -227,7 +229,7 @@ ipcMain.on(commands.UPSCAYL, async (event, payload) => {
platform === "win"
? payload.imagePath.split("\\").slice(-1)[0]
: payload.imagePath.split("/").slice(-1)[0];
- console.log(fullfileName)
+ console.log(fullfileName);
const fileName = parse(fullfileName).name;
const fileExt = parse(fullfileName).ext;
const outFile =
diff --git a/main/models.js b/main/models.js
deleted file mode 100644
index e69de29..0000000
diff --git a/main/utils.js b/main/utils.js
new file mode 100644
index 0000000..3779b64
--- /dev/null
+++ b/main/utils.js
@@ -0,0 +1,25 @@
+const { spawn } = require("child_process");
+const { execPath } = require("./binaries");
+/**
+ *
+ * @param {*} inputFile
+ * @param {*} outFile
+ * @param {*} modelsPath
+ * @param {*} model
+ * @returns
+ */
+function upscaylImage(inputFile, outFile, modelsPath, model) {
+ // UPSCALE
+ let upscayl = spawn(
+ execPath("realesrgan"),
+ ["-i", inputFile, "-o", outFile, "-s", 4, "-m", modelsPath, "-n", model],
+ {
+ cwd: null,
+ detached: false,
+ }
+ );
+
+ return upscayl;
+}
+
+module.exports = { upscaylImage };
diff --git a/renderer/components/LeftPaneSteps.jsx b/renderer/components/LeftPaneSteps.jsx
index d7a993c..14b362b 100644
--- a/renderer/components/LeftPaneSteps.jsx
+++ b/renderer/components/LeftPaneSteps.jsx
@@ -49,22 +49,24 @@ function LeftPaneSteps(props) {
Select Upscaling Type
-
-
{
- props.setSharpen(e.target.checked);
- }}
- />
-
- Sharpen Image
-
-
+ {props.model !== "models-DF2K" && (
+
+
{
+ props.setDoubleUpscayl(e.target.checked);
+ }}
+ />
+
+ Double Upscayl
+
+
+ )}
@@ -129,8 +132,7 @@ function LeftPaneSteps(props) {
>
-
-
+
diff --git a/renderer/components/ProgressBar.jsx b/renderer/components/ProgressBar.jsx
index c982d5a..597151b 100644
--- a/renderer/components/ProgressBar.jsx
+++ b/renderer/components/ProgressBar.jsx
@@ -8,18 +8,11 @@ function ProgressBar(props) {
-
- {props.sharpening ? props.sharpeningProgress : props.progress}
+
{props.progress}
+
+
+ Doing the Upscayl magic...
- {props.sharpening ? (
-
- Sharpening your Image...
-
- ) : (
-
- Doing the Upscayl magic...
-
- )}
);
diff --git a/renderer/pages/index.jsx b/renderer/pages/index.jsx
index ea2065e..6211e09 100644
--- a/renderer/pages/index.jsx
+++ b/renderer/pages/index.jsx
@@ -21,10 +21,7 @@ const Home = () => {
const [loaded, setLoaded] = useState(false);
const [version, setVersion] = useState("");
const [batchMode, setBatchMode] = useState(false);
- const [sharpen, setSharpen] = useState(false);
- const [sharpening, setSharpening] = useState(false);
- const [sharpenedImagePath, setSharpenedImagePath] = useState("");
- const [sharpeningProgress, setSharpeningProgress] = useState("");
+ const [doubleUpscayl, setDoubleUpscayl] = useState(false);
const resetImagePaths = () => {
setProgress("");
@@ -64,9 +61,9 @@ const Home = () => {
handleErrors(data);
});
- window.electron.on(commands.SHARPEN_PROGRESS, (_, data) => {
+ window.electron.on(commands.DOUBLE_UPSCAYL_PROGRESS, (_, data) => {
if (data.length > 0 && data.length < 10) {
- setSharpeningProgress(data);
+ setProgress(data);
}
handleErrors(data);
});
@@ -75,8 +72,8 @@ const Home = () => {
setProgress("");
setUpscaledImagePath(data);
});
- window.electron.on(commands.SHARPEN_DONE, (_, data) => {
- setSharpenedImagePath(data);
+ window.electron.on(commands.DOUBLE_UPSCAYL_DONE, (_, data) => {
+ setUpscaledImagePath(data);
});
}, []);
@@ -167,24 +164,23 @@ const Home = () => {
setUpscaledImagePath("");
if (imagePath !== "") {
setProgress("Hold on...");
+ if (model === "models-DF2K") {
+ setDoubleUpscayl(false);
+ }
- if (sharpen) {
- setSharpening(true);
- const sharpenResponse = await window.electron.send(commands.SHARPEN, {
- scaleFactor,
+ if (doubleUpscayl) {
+ await window.electron.send(commands.DOUBLE_UPSCAYL, {
imagePath,
outputPath,
model,
});
- console.log("🚀 => upscaylHandler => sharpenResponse", sharpenResponse);
- }
- else {
+ } else {
await window.electron.send(commands.UPSCAYL, {
scaleFactor,
imagePath,
outputPath,
model,
- })
+ });
}
} else {
alert("Please select an image to upscale");
@@ -212,8 +208,9 @@ const Home = () => {
setBatchMode={setBatchMode}
imagePath={imagePath}
outputPath={outputPath}
- sharpen={sharpen}
- setSharpen={setSharpen}
+ doubleUpscayl={doubleUpscayl}
+ setDoubleUpscayl={setDoubleUpscayl}
+ model={model}
/>
@@ -229,11 +226,7 @@ const Home = () => {
onPaste={(e) => handlePaste(e)}
>
{progress.length > 0 && upscaledImagePath.length === 0 && (
-
+
)}
{imagePath.length === 0 ? (
diff --git a/models/future-use/realesrgan-x4plus-anime.bin b/resources/models/realesrgan-x4plus-anime.bin
similarity index 100%
rename from models/future-use/realesrgan-x4plus-anime.bin
rename to resources/models/realesrgan-x4plus-anime.bin
diff --git a/models/future-use/realesrgan-x4plus-anime.param b/resources/models/realesrgan-x4plus-anime.param
similarity index 100%
rename from models/future-use/realesrgan-x4plus-anime.param
rename to resources/models/realesrgan-x4plus-anime.param
diff --git a/sharpened/Trollface_non-free.png b/sharpened/Trollface_non-free.png
deleted file mode 100644
index 502b3e30a9b6022a2260696296a7a5788492352c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 82578
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≻jf}J
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