Cherish is a tool that aids archaeologists and designers to represent historical, urban and archaeological structures and sites in 3D by means of image manipulation and sketching. Cherish creation was inspired by a Yale's Dura Europos dataset - a large image dataset of an ancient site which is located in modern Syria. One of the main characteristic of the data set is its spacial sparsity and featureless natures of photographs which does not allow us to utilize the modern computer vision in order to obtain a 3D representation of the site.
The main idea behind Cherish is to use the knowledge and expertise of a specialist in order to perform semi-manual data organization. Therefore, given a problem of disparate data types such photographs, illustrations, diagrams, text annotations, point cloud representation, etc., Cherish aims to provide a tool to combine all the above data into a comprehensive 3D space, to make 3D sense of the data.
Note: Cherish is currently under development and does not have a comprehensive manual and user guide
If you are using Windows machine (version>=7), the fastest way is to download the pre-compiled binary and start testing the software right away. For that, go to the release section and download the latest version. The download link will have the form of cherish-Version-qtX.YmsvcYEAR.zip
.
Continuous integration:
Documentation:
Cherish can be built on a range of platforms, e.g., Windows, Linux, Mac. This is the list of libraries and tools that are used for the system compilation and build:
- CMake (>=2.8.11)
- Qt (>=5.4; in case if you are planning to use Wacom tablet, the recommended Qt version is 5.4 or 5.5 due to a tablet bug in the stable versions older than 5.5.1)
- OpenSceneGraph (>=3.4.0)
- Doxygen (not mandatory; only used for documentation build). Note: the development documentation of a master branch can be viewed online.
- Git (not mandatory; only used for development)
- C++ compiler with C++11 support, e.g.,
gcc
(>=4.8.1), Visual Studio (>=2013), clang (>=3.0). - Graphics card supporting OpenGL (>=3.3), otherwise the shaders will not work
- Eigen library (when not using
git
for source download; see Eigen Note for more details).
All tools, but OpenSceneGraph (OSG), have binaries and are easy to install. There are no official binaries for OSG library and it is recommended to install it from source. Use the official guide for detailed steps. Note: the used version of OSG only requires OpenGL and CMake; there is no need to install additional plugins; the minimal install is enough.
Eigen Note: Eigen library is also used within Cherish, however, if the source is downloaded by means of git
(see below for instructions), no additional Eigen installation is required since the library is included as a third party dependency via git submodules.
You can download the latest version as an archive from releases or use git to clone the repository:
$ git clone --recursive https://github.com/vicrucann/cherish.git
$ cd cherish
$ git submodule init
$ git submodule update
- Build type is defined by
-DCMAKE_BUILD_TYPE
flag:Debug
(default) orRelease
. - Building of unit tests is defined by
-DCherish_BUILD_TEST
flag:OFF
(default) orON
. - Build the development documentation (requires doxygen) is defined by flag
-DCherish_BUILD_DOC
:OFF
by default orON
.
After getting the source and all the submodules:
cherish/ $ mkdir cherish_build
cherish/ $ cd cherish_build
build/ $ cmake -DCMAKE_BUILD_TYPE=Release ../src/
build/ $ make
Assuming the project is checked out from git repository and yout Qt Creator is configured to be used with an appropriate compiler and CMake, use Qt Creator to open the project by opening the file cherish/src/CMakeLists.txt
.
Follow the steps of Qt Creator to finish the build using CMake. After the build is complete, compile the project by running <Ctrl>+B
, or run from the menu: "Build" -> "Build All".
Here we will only mention some specifics to know when performing the compilation using Visual Studio tools.
Generally speaking, the compilation process can be split into two main parts:
- CMake generation (for simplicity use CMake-gui)
- Compilation itself using Visual Studio of the generated project
When doing the second step, make sure to include the necessary Qt directories to the PATH
environmental variable. Also, make sure to include certain Qt plugin folder: plugins/imageformats
, otherwise the icons will not be displayed within the application.
See the corresponding LICENSE file.
The software is being developed at Yale Graphics Lab. The main development is performed by Victoria Rudakova under the guidance of prof. Holly Rushmeier and prof. Julie Dorsey.
For any questions and requests, feel free to contact Victoria Rudakova - victoria.rudakova(at)yale.edu. Or use Issues for feature requests and bug submission.
Other contributors:
- Bhavani Ananthabhotla: user feedback and research
- Ying Yang: sub-parts functionality and research
- Goze Akoglu: user testing and feedback
- Eleni Kotoula: user testing and feedback
- Wendy Chen: user testing and feedback
- Natallia Trayan: icon design
- Yumo Rong: user interface functionality
Grant info will be placed here.
The list of references will be placed here.