Spectral imaging is a powerful technique that enables higher color accuracy than conventional RGB capture, as well as material identification capabilities. However, it is still relatively unused for everyday museum photography due to perceived complexity and high cost. This project seeks to develop a standalone spectral image processing tool that is user-friendly, yet capable of handling complex image data. We will integrate existing image calibration routines and repackage them into a standalone application, enabling a simpler and more efficient user experience over current methods. We hope that eliminating the current need for command line operation will enable non-expert users to process spectral images. A user will be able to import a number of RAW images and then will receive a true spectral image in the form of a TIFF file, as well as a color-managed RGB image. The user will only need to make a few basic selections before the images are processed. As the necessary image processing routines, which will be hidden under the hood, are executed, the application will provide progress updates in the form of status messages, Finally, the user will be able to view and interact with the output images inside, and also inspect reports detailing the accuracy of the color and spectral calibrations developed during the processing.
This project is sponsored by The Studio for Scientific Imaging and Archiving of Cultural Heritage -- a facility within the RIT Program of Color Science’s Munsell Color Science Lab. The project is being developed by a senior project team from the Software Engineering program at RIT.
Olivia Kuzio, Susan Farnand, Leah Humenuck, Sahara Smith
Tristan Knox, Jacob O'Neil, Andrew Hammerstonm, Jared Ponzetti, Patrick Dalesio
Brendan Grau, Sungmin Kim, Keenan Miller, John Akey, Elijah Cooper
Sam McQuate, Jacob Auger, Josh Greco, Robert Loos, Jonathan Pofcher
- This set-up process was tested on a clean install of Windows with no prior Visual Studio installations.
- https://gitforwindows.org/
- Command line git is still needed for our scripts (even if you use GitHub desktop).
- https://cmake.org/download/
- https://visualstudio.microsoft.com/downloads/?q=build+tools
- Scroll down and install only the "Build Tools"
- Within the installer, check "Desktop development with C++"
- MSVC (latest)
- Windows 10 SDK
- Uncheck/no need for Cmake and other defaults
- https://nodejs.org/en/
- Do not need/uncheck optional build tools (python and MSVC 2017)
- Reboot or log-out and log-in
- Make sure your editor is configured for
C++20
syntax
git clone https://github.com/TristanKnox/Imaging-Art-beyond-RGB
cd .\Imaging-Art-beyond-RGB\
cd .\backend\
.\vcpkg_first_time_setup.bat
- Locally install Vcpkg and our dependencies (~10 GB and ~30 minutes)
cd ..\frontend\
npm ci
cd .\backend\
from project root.- If an additional dependency is ever added to "dependencies.txt", first run:
.\config_depends.bat
- To build:
.\win10_debug.bat
or.\win10_release.bat
- Build automatically copied to fronted for testing.
cd .\frontend\
from project root.- If frontend configuration is ever changed, first run:
npm ci
cd .\frontend\
from project root.npm run preview
ornpm run dev
cd .\backend\
from project root..\win10_release.bat
cd ..\frontend\
.\win10_release_frontend.bat
- The release output can be found in "Imaging-Art-beyond-RGB\frontend\out".
- The release is a folder called "Beyond RGB-win32-x64" with an executable "Beyond RGB.exe".
- Xcode command line developer tools
- Homebrew: https://brew.sh/
- Git:
brew install git
- CMake:
brew install cmake
- pkgconfig:
brew install pkg-config
- Node.js:
brew install node
- Make sure your editor is configured for
C++20
syntax
git clone https://github.com/TristanKnox/Imaging-Art-beyond-RGB
cd Imaging-Art-beyond-RGB
cd backend
sh osx_config_environment.sh
- Locally install Vcpkg and our dependencies (~10 GB and ~30 minutes)
cd ../frontend
npm ci
cd backend
from project root.- If an additional dependency is ever added to "dependencies.txt", first run:
sh osx_config_environment.sh
- To build:
sh osx_debug.sh
orsh osx_release.sh
- Build automatically copied to frontend for testing.
- If you encounter an error with either of the above, crosscheck the specified architecture of your system with the
VCPKG_TARGET_TRIPLET
flag specified in bothosx_debug.sh
andosx_release.sh
:- For example, if you are using an M1 mac, replace
x64-osx
witharm64-osx
- For example, if you are using an M1 mac, replace
cd frontend
from project root.- If frontend configuration is ever changed, first run:
npm ci
cd frontend
from project root.npm run preview
ornpm run dev
cd backend
from project root.sh osx_release.sh
cd ../frontend
sh release_frontend.sh
- The release output can be found in "Imaging-Art-beyond-RGB\frontend\out".
- Because Apple is greedy, apps released using M1 macs will result in users seeing a message saying that the app is "damaged and cannot be opened"
- Fix this by either signing the release of this application with your apple developer id or simply compiling and releasing the application with x64 (intel) architecture (note that M1 macs will still be able to run apps released this way).
sudo apt install build-essential git cmake
- Node.js: https://nodejs.org/en/download/
- Make sure your editor is configured for
C++20
syntax
git clone https://github.com/TristanKnox/Imaging-Art-beyond-RGB
cd Imaging-Art-beyond-RGB
cd backend
sh linux_config_environment.sh
- Vcpkg may fail and require you to install another command line tool.
- Once you install it, run the script again. It may fail again and require more command line tools to be installed.
- Locally install Vcpkg and our dependencies (~10 GB and ~30 minutes)
cd ../frontend
npm ci
cd backend
from project root.- If an additional dependency is ever added to "dependencies.txt", first run:
sh linux_config_environment.sh
- To build:
sh linux_debug.sh
orsh linux_release.sh
- Build automatically copied to fronted for testing.
cd frontend
from project root.- If frontend configuration is ever changed, first run:
npm ci
cd frontend
from project root.npm run preview
ornpm run dev
cd backend
from project root.sh linux_release.sh
cd ../frontend
sh release_frontend.sh