All Projects β†’ vicrucann β†’ Cherish

vicrucann / Cherish

Licence: gpl-3.0
🏰 Sketch- and image-based system for 3D representation and documentation of cultural heritage sites

Projects that are alternatives of or similar to Cherish

Huggle3 Qt Lx
Huggle is an anti-vandalism tool for use on MediaWiki based projects
Stars: ✭ 143 (+429.63%)
Mutual labels:  cmake, qt
Cmake Scripts
A selection of useful scripts for use in CMake projects, include code coverage, sanitizers, and dependency graph generation.
Stars: ✭ 202 (+648.15%)
Mutual labels:  cmake, doxygen
Mini Cmake Qt
A minimal CMake template for Qt 5 & 6 projects
Stars: ✭ 156 (+477.78%)
Mutual labels:  cmake, qt
Qhttpengine
HTTP server for Qt applications
Stars: ✭ 112 (+314.81%)
Mutual labels:  cmake, qt
Cmake Templates
Some CMake Templates (examples). Qt, Boost, OpenCV, C++11, etc 一些栗子
Stars: ✭ 368 (+1262.96%)
Mutual labels:  cmake, qt
Openage
Free (as in freedom) open source clone of the Age of Empires II engine πŸš€
Stars: ✭ 10,712 (+39574.07%)
Mutual labels:  cmake, qt
Argagg
A simple C++11 command line argument parser
Stars: ✭ 180 (+566.67%)
Mutual labels:  cmake, doxygen
Librecad
LibreCAD is a cross-platform 2D CAD program written in C++11 using the Qt framework. It can read DXF and DWG files and can write DXF, PDF and SVG files. The user interface is highly customizable, and has dozens of translations.
Stars: ✭ 2,602 (+9537.04%)
Mutual labels:  cad, qt
Qxmpp
Cross-platform C++ XMPP client and server library
Stars: ✭ 300 (+1011.11%)
Mutual labels:  cmake, qt
Cleancppproject
Clean C++ project for you to use. Features: Modern CMake, CPack, Doxygen, PlantUML, Catch Unit testing, static analysis
Stars: ✭ 276 (+922.22%)
Mutual labels:  cmake, doxygen
Nitroshare Desktop
Network file transfer application for Windows, OS X, & Linux
Stars: ✭ 1,150 (+4159.26%)
Mutual labels:  cmake, qt
Screencloud
Screenshot sharing application for Windows, Mac and Linux.
Stars: ✭ 537 (+1888.89%)
Mutual labels:  cmake, qt
Clang Blueprint
🏰 Example C++11 CMake project that incorporates awesome Clang tooling πŸ‰
Stars: ✭ 63 (+133.33%)
Mutual labels:  cmake, doxygen
Notepanda
πŸ“ƒ A simple cross-platform notepad. Based on Qt and C++.
Stars: ✭ 134 (+396.3%)
Mutual labels:  cmake, qt
Qtcreator Doxygen
Doxygen Plugin for Qt Creator
Stars: ✭ 141 (+422.22%)
Mutual labels:  doxygen, qt
Anms Codes
Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution
Stars: ✭ 174 (+544.44%)
Mutual labels:  cmake, qt
Librepcb
A powerful, innovative and intuitive EDA tool for everyone!
Stars: ✭ 1,173 (+4244.44%)
Mutual labels:  cad, qt
Antimony
Antimony is a computer-aided design (CAD) tool from a parallel universe in which CAD software evolved from Lisp machines rather than drafting tables
Stars: ✭ 1,902 (+6944.44%)
Mutual labels:  cad, qt
c-template
Boilerplate to set up a c project, include CuTest unit testing, cmake build setup
Stars: ✭ 69 (+155.56%)
Mutual labels:  cmake, doxygen
Opencv Mingw Build
πŸ‘€ MinGW 32bit and 64bit version of OpenCV compiled on Windows. Including OpenCV 3.3.1, 3.4.1, 3.4.1-x64, 3.4.5, 3.4.6, 3.4.7, 3.4.8-x64, 3.4.9, 4.0.0-alpha-x64, 4.0.0-rc-x64, 4.0.1-x64, 4.1.0, 4.1.0-x64, 4.1.1-x64, 4.5.0-with-contrib
Stars: ✭ 401 (+1385.19%)
Mutual labels:  cmake, qt

Cherish - Tool for Cultural Heritage Data Organization by using Image Manipulation and Sketching

Introduction

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 as 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.

Binary download

If you are using Windows machine (version>=7), the fastest way to start 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. Each release tag should containt an installer for Windows 10.

Building from source

Continuous integration:

  • Linux 64 bits/GCC (build + tests running): Build Status
  • Coverity scan for defect detection: Coverity Status

Documentation:

  • Development documentation: 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, 5.5 or 5.8+ due to a tablet bug in the stable version of 5.6-5.7).
  • 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 - strongly recommended since it will ensure all the third party files are downloaded as well (see instructions below).
  • 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.

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. Or check these two tutorials for OSG installation:

Note: the used version of OSG only requires OpenGL and CMake; there is no need to install additional plugins; the minimal install is enough.

Note: before doing installation of OpenSceneGraph on Windows, it is strongly recommended to turn off your anti-virus. The same can apply before installation of Qt library, e.g., Avast is known to block certain files within Qt library.

Note: on completion of OSG compilation, do not forget to set up the environmental variables correctly to avoid problems with cmake finding the OSG directory libraries.

Getting the sources

Use git (git scm on Windows) to clone the repository. In the command line go to the desired installation directory and type:

$ git clone --recursive https://github.com/vicrucann/cherish.git
$ cd cherish
$ git submodule init
$ git submodule update

After the download is complete, you now have all the Cherish source files in the \cherish\src directory. The next step is to use CMake in order to start build and compilation.

General information for cmake options

  • Build type is defined by -DCMAKE_BUILD_TYPE flag: Debug (default) or Release.
  • Building of unit tests is defined by -DCherish_BUILD_TEST flag: OFF (default) or ON.
  • Build the development documentation (requires doxygen) is defined by flag -DCherish_BUILD_DOC: OFF by default or ON.

Command line compilation

This method is most likely to be used within Linux environment. Or, if you have set up an environment like Cygwin.

So, after getting the source and all the submodules, we build the program in the next steps (assume we are in cherish folder):

cherish/ $ mkdir cherish_build
cherish/ $ cd cherish_build
build/ $ cmake -DCMAKE_BUILD_TYPE=Release ../src/

build/ $ make

Compilation using Qt Creator

Assuming the project is checked out from git repository and your Qt Creator is configured to be used with an appropriate compiler (e.g. MSVC2013, MSVC2015, ...) 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".

Compilation using Visual Studio

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 .sln 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.

License

See the corresponding LICENSE file.

Contact and authors info

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)protonmail.com. Or use Issues for feature requests and bug submission.

Other contributors:

  • Natallia Trayan: icon design, demo scenes and user feedback.
  • Nathan Lin: user testing and feedback, demo scenes, user manual and website content.
  • 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.
  • Yumo Rong: user interface functionality.

Acknowledgements

Grant info will be placed here.

References

The list of references will be placed here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].