From 0c55daf72efef4e868fe9c09c03c02219291c380 Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:46:40 +0530 Subject: [PATCH 01/10] Changed NavBar.js Location --- client/src/App.js | 4 +++- .../components/{Viewer/components => }/NavBar/NavBar.css | 0 .../components/{Viewer/components => }/NavBar/NavBar.js | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) rename client/src/components/{Viewer/components => }/NavBar/NavBar.css (100%) rename client/src/components/{Viewer/components => }/NavBar/NavBar.js (63%) diff --git a/client/src/App.js b/client/src/App.js index c00e1c6c..2dd1e52b 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -5,7 +5,8 @@ import CustomToastContainer from './components/CustomToastContainer/CustomToastC import Viewer from './components/Viewer/Viewer' import Login from './components/Login/Login' import './App.css' -import NavBar from './components/Viewer/components/NavBar/NavBar'; +import NavBar from './components/NavBar/NavBar'; +import PageNotFound from './components/PageNotFound/PageNotFound'; function App() { let tokenId = null @@ -69,6 +70,7 @@ function App() { : }/> : } /> + }/> diff --git a/client/src/components/Viewer/components/NavBar/NavBar.css b/client/src/components/NavBar/NavBar.css similarity index 100% rename from client/src/components/Viewer/components/NavBar/NavBar.css rename to client/src/components/NavBar/NavBar.css diff --git a/client/src/components/Viewer/components/NavBar/NavBar.js b/client/src/components/NavBar/NavBar.js similarity index 63% rename from client/src/components/Viewer/components/NavBar/NavBar.js rename to client/src/components/NavBar/NavBar.js index 748525c7..30b62041 100644 --- a/client/src/components/Viewer/components/NavBar/NavBar.js +++ b/client/src/components/NavBar/NavBar.js @@ -1,15 +1,22 @@ import React from 'react' import './NavBar.css' +import { useNavigate } from 'react-router-dom' function NavBar(props) { + const navigate = useNavigate() + function handleClick() { props.logout() } + function handleHome() { + navigate('/') + } + return (
- +

HISTOPATHOLOGY VIEWER

From 4391613273452ae13d0330d6fd89e3231217e68f Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:46:52 +0530 Subject: [PATCH 02/10] Added Page Not Found --- .../components/PageNotFound/PageNotFound.css | 46 +++++++++++++++++++ .../components/PageNotFound/PageNotFound.js | 22 +++++++++ 2 files changed, 68 insertions(+) create mode 100644 client/src/components/PageNotFound/PageNotFound.css create mode 100644 client/src/components/PageNotFound/PageNotFound.js diff --git a/client/src/components/PageNotFound/PageNotFound.css b/client/src/components/PageNotFound/PageNotFound.css new file mode 100644 index 00000000..aae8efee --- /dev/null +++ b/client/src/components/PageNotFound/PageNotFound.css @@ -0,0 +1,46 @@ +.section{ + text-align: center; + padding: 4rem 2rem; +} + +.section .error{ + font-size: 150px; + color: #006CA5; + text-shadow: + 1px 1px 1px #02367B, + 2px 2px 1px #02367B, + 3px 3px 1px #02367B, + 4px 4px 1px #02367B, + 5px 5px 1px #02367B, + 6px 6px 1px #02367B, + 7px 7px 1px #02367B, + 8px 8px 1px #02367B, + 25px 25px 8px rgba(0,0,0, 0.2); +} + +.page{ + margin: 2rem 0; + font-family: 'Open Sans', sans-serif; + font-size: 20px; + font-weight: 600; + color: #444; +} + +#home-btn { + background: #F54821; + border: 0; + border-style: none; + border-radius: 0.25rem; + color: white; + padding-left: 1rem; + padding-right: 1rem; + padding-bottom: 0.5rem; + padding-top: 0.5rem; + font-family: 'Open Sans', sans-serif; + outline: 2px solid transparent; + outline-offset: 2px; + cursor: pointer; + font-weight: bold; + width: 200px; + margin-right: 10px; +} diff --git a/client/src/components/PageNotFound/PageNotFound.js b/client/src/components/PageNotFound/PageNotFound.js new file mode 100644 index 00000000..be226456 --- /dev/null +++ b/client/src/components/PageNotFound/PageNotFound.js @@ -0,0 +1,22 @@ +import React from 'react' +import './PageNotFound.css' +import {useNavigate } from 'react-router-dom' + +function PageNotFound() { + + const navigate = useNavigate() + + function handleClick() { + navigate('/') + } + + return ( +
+

404

+

The page you are looking for is not found

+ +
+ ) +} + +export default PageNotFound From 5defa688c7ca6bbbc56ca64cb2b08caedabfb5c0 Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Tue, 7 Nov 2023 21:50:10 +0530 Subject: [PATCH 03/10] Added ReadME Docs --- README.md | 16 ++++++++ Readme_Assets/Client/Client.md | 36 ++++++++++++++++++ .../Client/Images/Directory Structure.png | Bin 0 -> 79185 bytes .../Client/Images/HV Upload Pipeline.png | Bin 0 -> 86323 bytes Readme_Assets/Server/Server.md | 15 ++++++++ 5 files changed, 67 insertions(+) create mode 100644 README.md create mode 100644 Readme_Assets/Client/Client.md create mode 100644 Readme_Assets/Client/Images/Directory Structure.png create mode 100644 Readme_Assets/Client/Images/HV Upload Pipeline.png create mode 100644 Readme_Assets/Server/Server.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..0e4feac0 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Histopathology Viewer + +### Setup +- Install MySQL, and create credentials as mentioned below +``` +SQL_HOST = "localhost" +SQL_USER = "Histuser" +SQL_PASSWORD = "password" +SQL_DATABASE = "Histdata" +``` +- Run `create_schema.sql` from `server/db_setup` + +## Sub Components + +- [Client](./Readme_Assets/Client/Client.md) +- [Server](./Readme_Assets/Server/Server.md) diff --git a/Readme_Assets/Client/Client.md b/Readme_Assets/Client/Client.md new file mode 100644 index 00000000..dbf02e52 --- /dev/null +++ b/Readme_Assets/Client/Client.md @@ -0,0 +1,36 @@ +# Client +- This Repository Refers to the Frontend of the Web-App +--- + + + +- In `client/` Run the Following Command to Install the Dependencies +``` +npm install --no-lockfile --legacy-peer-deps +``` +--- + + +### Running the Frontend +``` +npm start +``` +--- + +### Directory Structure +![](./Images/Directory%20Structure.png) +--- + +### HV Upload Pipeline +![](./Images/HV%20Upload%20Pipeline.png) +- The User can Upload `.tiff` `.tif` `.png` `.jpeg` `.jpg` files to the HV Platform. + +### Storing the Images in MinIO Database +- The `.png` `.jpeg` `.jpg` files are directly stored in the MinIO Database without any processing done on them. +- The `.tiff` `.tif` files are broken down into Batches of Smaller Images which are then stored into the MinIO Database. + +### Accessing the Thumbnails of Images +- The `.png` `.jpeg` `.jpg` files are directly accessed from the MinIO Database. +- For the `.tiff` `.tif` files, the Smaller Images are retrieved in Batches which are then Reconstructed in the Frontend and Displayed to the User. The Images are Continously Retireved and Constructed as per the Depth of the Image. +--- + diff --git a/Readme_Assets/Client/Images/Directory Structure.png b/Readme_Assets/Client/Images/Directory Structure.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e2e80358fe8105fe33ae10cd2c752c982cebe5 GIT binary patch literal 79185 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 JnK$&j{~seE_tO9X literal 0 HcmV?d00001 diff --git a/Readme_Assets/Client/Images/HV Upload Pipeline.png b/Readme_Assets/Client/Images/HV Upload Pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..b32de3920dc0a8b37181efd2e18abbc2042652f5 GIT binary patch literal 86323 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

S2;8$x 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 Date: Tue, 7 Nov 2023 21:52:02 +0530 Subject: [PATCH 04/10] Updated Docs --- Readme_Assets/Client/Client.md | 4 ---- Readme_Assets/Server/Server.md | 3 --- 2 files changed, 7 deletions(-) diff --git a/Readme_Assets/Client/Client.md b/Readme_Assets/Client/Client.md index dbf02e52..491b3a77 100644 --- a/Readme_Assets/Client/Client.md +++ b/Readme_Assets/Client/Client.md @@ -1,9 +1,5 @@ # Client - This Repository Refers to the Frontend of the Web-App ---- - - - - In `client/` Run the Following Command to Install the Dependencies ``` npm install --no-lockfile --legacy-peer-deps diff --git a/Readme_Assets/Server/Server.md b/Readme_Assets/Server/Server.md index 78ae7b7b..ba33e267 100644 --- a/Readme_Assets/Server/Server.md +++ b/Readme_Assets/Server/Server.md @@ -1,8 +1,5 @@ # Server - This Repository Refers to the Backend of the Web-App - ---- - - In `server/` Run the Following Command to Install the Dependencies ``` npm install --no-lockfile --legacy-peer-deps From 4124a9c8342cde52ceb8e079dcd6fb5f483e5688 Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:46:40 +0530 Subject: [PATCH 05/10] Changed NavBar.js Location --- client/src/App.js | 4 +++- .../components/{Viewer/components => }/NavBar/NavBar.css | 0 .../components/{Viewer/components => }/NavBar/NavBar.js | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) rename client/src/components/{Viewer/components => }/NavBar/NavBar.css (100%) rename client/src/components/{Viewer/components => }/NavBar/NavBar.js (63%) diff --git a/client/src/App.js b/client/src/App.js index c00e1c6c..2dd1e52b 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -5,7 +5,8 @@ import CustomToastContainer from './components/CustomToastContainer/CustomToastC import Viewer from './components/Viewer/Viewer' import Login from './components/Login/Login' import './App.css' -import NavBar from './components/Viewer/components/NavBar/NavBar'; +import NavBar from './components/NavBar/NavBar'; +import PageNotFound from './components/PageNotFound/PageNotFound'; function App() { let tokenId = null @@ -69,6 +70,7 @@ function App() { : }/> : } /> + }/> diff --git a/client/src/components/Viewer/components/NavBar/NavBar.css b/client/src/components/NavBar/NavBar.css similarity index 100% rename from client/src/components/Viewer/components/NavBar/NavBar.css rename to client/src/components/NavBar/NavBar.css diff --git a/client/src/components/Viewer/components/NavBar/NavBar.js b/client/src/components/NavBar/NavBar.js similarity index 63% rename from client/src/components/Viewer/components/NavBar/NavBar.js rename to client/src/components/NavBar/NavBar.js index 748525c7..30b62041 100644 --- a/client/src/components/Viewer/components/NavBar/NavBar.js +++ b/client/src/components/NavBar/NavBar.js @@ -1,15 +1,22 @@ import React from 'react' import './NavBar.css' +import { useNavigate } from 'react-router-dom' function NavBar(props) { + const navigate = useNavigate() + function handleClick() { props.logout() } + function handleHome() { + navigate('/') + } + return (

- +

HISTOPATHOLOGY VIEWER

From 1c0bb4cb6c1c37ed1d64bab900013e58f74b72b4 Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:46:52 +0530 Subject: [PATCH 06/10] Added Page Not Found --- .../components/PageNotFound/PageNotFound.css | 46 +++++++++++++++++++ .../components/PageNotFound/PageNotFound.js | 22 +++++++++ 2 files changed, 68 insertions(+) create mode 100644 client/src/components/PageNotFound/PageNotFound.css create mode 100644 client/src/components/PageNotFound/PageNotFound.js diff --git a/client/src/components/PageNotFound/PageNotFound.css b/client/src/components/PageNotFound/PageNotFound.css new file mode 100644 index 00000000..aae8efee --- /dev/null +++ b/client/src/components/PageNotFound/PageNotFound.css @@ -0,0 +1,46 @@ +.section{ + text-align: center; + padding: 4rem 2rem; +} + +.section .error{ + font-size: 150px; + color: #006CA5; + text-shadow: + 1px 1px 1px #02367B, + 2px 2px 1px #02367B, + 3px 3px 1px #02367B, + 4px 4px 1px #02367B, + 5px 5px 1px #02367B, + 6px 6px 1px #02367B, + 7px 7px 1px #02367B, + 8px 8px 1px #02367B, + 25px 25px 8px rgba(0,0,0, 0.2); +} + +.page{ + margin: 2rem 0; + font-family: 'Open Sans', sans-serif; + font-size: 20px; + font-weight: 600; + color: #444; +} + +#home-btn { + background: #F54821; + border: 0; + border-style: none; + border-radius: 0.25rem; + color: white; + padding-left: 1rem; + padding-right: 1rem; + padding-bottom: 0.5rem; + padding-top: 0.5rem; + font-family: 'Open Sans', sans-serif; + outline: 2px solid transparent; + outline-offset: 2px; + cursor: pointer; + font-weight: bold; + width: 200px; + margin-right: 10px; +} diff --git a/client/src/components/PageNotFound/PageNotFound.js b/client/src/components/PageNotFound/PageNotFound.js new file mode 100644 index 00000000..be226456 --- /dev/null +++ b/client/src/components/PageNotFound/PageNotFound.js @@ -0,0 +1,22 @@ +import React from 'react' +import './PageNotFound.css' +import {useNavigate } from 'react-router-dom' + +function PageNotFound() { + + const navigate = useNavigate() + + function handleClick() { + navigate('/') + } + + return ( +
+

404

+

The page you are looking for is not found

+ +
+ ) +} + +export default PageNotFound From 4e7905aeb6ea5b801ec607e89d19f38121c425ad Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Wed, 8 Nov 2023 18:19:55 +0530 Subject: [PATCH 07/10] Changed Images Name --- Readme_Assets/Client/Client.md | 4 ++-- ...ectory Structure.png => Directory_Structure.png} | Bin ...V Upload Pipeline.png => HV_Upload_Pipeline.png} | Bin 3 files changed, 2 insertions(+), 2 deletions(-) rename Readme_Assets/Client/Images/{Directory Structure.png => Directory_Structure.png} (100%) rename Readme_Assets/Client/Images/{HV Upload Pipeline.png => HV_Upload_Pipeline.png} (100%) diff --git a/Readme_Assets/Client/Client.md b/Readme_Assets/Client/Client.md index 491b3a77..22a95684 100644 --- a/Readme_Assets/Client/Client.md +++ b/Readme_Assets/Client/Client.md @@ -14,11 +14,11 @@ npm start --- ### Directory Structure -![](./Images/Directory%20Structure.png) +![](./Images/Directory_Structure.png) --- ### HV Upload Pipeline -![](./Images/HV%20Upload%20Pipeline.png) +![](./Images/HV_Upload_Pipeline.png) - The User can Upload `.tiff` `.tif` `.png` `.jpeg` `.jpg` files to the HV Platform. ### Storing the Images in MinIO Database diff --git a/Readme_Assets/Client/Images/Directory Structure.png b/Readme_Assets/Client/Images/Directory_Structure.png similarity index 100% rename from Readme_Assets/Client/Images/Directory Structure.png rename to Readme_Assets/Client/Images/Directory_Structure.png diff --git a/Readme_Assets/Client/Images/HV Upload Pipeline.png b/Readme_Assets/Client/Images/HV_Upload_Pipeline.png similarity index 100% rename from Readme_Assets/Client/Images/HV Upload Pipeline.png rename to Readme_Assets/Client/Images/HV_Upload_Pipeline.png From 2bd9471733424d1c7acd4e36d200511f156da571 Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Wed, 8 Nov 2023 18:22:01 +0530 Subject: [PATCH 08/10] Update Client.md --- Readme_Assets/Client/Client.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme_Assets/Client/Client.md b/Readme_Assets/Client/Client.md index 22a95684..96c31842 100644 --- a/Readme_Assets/Client/Client.md +++ b/Readme_Assets/Client/Client.md @@ -14,11 +14,11 @@ npm start --- ### Directory Structure -![](./Images/Directory_Structure.png) +![Directory Structure](./Images/Directory_Structure.png) --- ### HV Upload Pipeline -![](./Images/HV_Upload_Pipeline.png) +![Upload Pipeline](./Images/HV_Upload_Pipeline.png) - The User can Upload `.tiff` `.tif` `.png` `.jpeg` `.jpg` files to the HV Platform. ### Storing the Images in MinIO Database From e45217bbdf9fc0e9c57e51f2dee6a95a2cabe8d7 Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:46:40 +0530 Subject: [PATCH 09/10] Changed NavBar.js Location --- client/src/App.js | 4 +++- .../components/{Viewer/components => }/NavBar/NavBar.css | 0 .../components/{Viewer/components => }/NavBar/NavBar.js | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) rename client/src/components/{Viewer/components => }/NavBar/NavBar.css (100%) rename client/src/components/{Viewer/components => }/NavBar/NavBar.js (63%) diff --git a/client/src/App.js b/client/src/App.js index c00e1c6c..2dd1e52b 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -5,7 +5,8 @@ import CustomToastContainer from './components/CustomToastContainer/CustomToastC import Viewer from './components/Viewer/Viewer' import Login from './components/Login/Login' import './App.css' -import NavBar from './components/Viewer/components/NavBar/NavBar'; +import NavBar from './components/NavBar/NavBar'; +import PageNotFound from './components/PageNotFound/PageNotFound'; function App() { let tokenId = null @@ -69,6 +70,7 @@ function App() { : }/> : } /> + }/> diff --git a/client/src/components/Viewer/components/NavBar/NavBar.css b/client/src/components/NavBar/NavBar.css similarity index 100% rename from client/src/components/Viewer/components/NavBar/NavBar.css rename to client/src/components/NavBar/NavBar.css diff --git a/client/src/components/Viewer/components/NavBar/NavBar.js b/client/src/components/NavBar/NavBar.js similarity index 63% rename from client/src/components/Viewer/components/NavBar/NavBar.js rename to client/src/components/NavBar/NavBar.js index 748525c7..30b62041 100644 --- a/client/src/components/Viewer/components/NavBar/NavBar.js +++ b/client/src/components/NavBar/NavBar.js @@ -1,15 +1,22 @@ import React from 'react' import './NavBar.css' +import { useNavigate } from 'react-router-dom' function NavBar(props) { + const navigate = useNavigate() + function handleClick() { props.logout() } + function handleHome() { + navigate('/') + } + return (
- +

HISTOPATHOLOGY VIEWER

From 73fc33f9becb7b14b553d1ae9ff206935865a1ba Mon Sep 17 00:00:00 2001 From: Harsh Bansal <102587800+HarsH-BansaL16@users.noreply.github.com> Date: Tue, 7 Nov 2023 15:46:52 +0530 Subject: [PATCH 10/10] Added Page Not Found --- .../components/PageNotFound/PageNotFound.css | 46 +++++++++++++++++++ .../components/PageNotFound/PageNotFound.js | 22 +++++++++ 2 files changed, 68 insertions(+) create mode 100644 client/src/components/PageNotFound/PageNotFound.css create mode 100644 client/src/components/PageNotFound/PageNotFound.js diff --git a/client/src/components/PageNotFound/PageNotFound.css b/client/src/components/PageNotFound/PageNotFound.css new file mode 100644 index 00000000..aae8efee --- /dev/null +++ b/client/src/components/PageNotFound/PageNotFound.css @@ -0,0 +1,46 @@ +.section{ + text-align: center; + padding: 4rem 2rem; +} + +.section .error{ + font-size: 150px; + color: #006CA5; + text-shadow: + 1px 1px 1px #02367B, + 2px 2px 1px #02367B, + 3px 3px 1px #02367B, + 4px 4px 1px #02367B, + 5px 5px 1px #02367B, + 6px 6px 1px #02367B, + 7px 7px 1px #02367B, + 8px 8px 1px #02367B, + 25px 25px 8px rgba(0,0,0, 0.2); +} + +.page{ + margin: 2rem 0; + font-family: 'Open Sans', sans-serif; + font-size: 20px; + font-weight: 600; + color: #444; +} + +#home-btn { + background: #F54821; + border: 0; + border-style: none; + border-radius: 0.25rem; + color: white; + padding-left: 1rem; + padding-right: 1rem; + padding-bottom: 0.5rem; + padding-top: 0.5rem; + font-family: 'Open Sans', sans-serif; + outline: 2px solid transparent; + outline-offset: 2px; + cursor: pointer; + font-weight: bold; + width: 200px; + margin-right: 10px; +} diff --git a/client/src/components/PageNotFound/PageNotFound.js b/client/src/components/PageNotFound/PageNotFound.js new file mode 100644 index 00000000..be226456 --- /dev/null +++ b/client/src/components/PageNotFound/PageNotFound.js @@ -0,0 +1,22 @@ +import React from 'react' +import './PageNotFound.css' +import {useNavigate } from 'react-router-dom' + +function PageNotFound() { + + const navigate = useNavigate() + + function handleClick() { + navigate('/') + } + + return ( +
+

404

+

The page you are looking for is not found

+ +
+ ) +} + +export default PageNotFound