Skip to content

Commit

Permalink
Merge pull request #82 from fblupi/develop
Browse files Browse the repository at this point in the history
v0.2-beta
  • Loading branch information
fblupi authored Jun 30, 2018
2 parents 21c738f + d118b66 commit 6495779
Show file tree
Hide file tree
Showing 54 changed files with 1,875 additions and 286 deletions.
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. Windows]
- Version [e.g. 7]

**Additional context**
Add any other context about the problem here.
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for this project

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
28 changes: 25 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,35 @@ First of all, I am grateful that you are interested in contributing. The first i

We have got a [code of conduct](https://github.com/fblupi/3DCurator/blob/master/CODE_OF_CONDUCT.md) you should read before start contributing too.

### Issue process
## Naming convention

Although it is pure logic, the code has to be written in English.

### Files

Write the name of the files in Camel Case.

#### Extensions

* Headers: `*.h`
* C++ source: `*.cpp`
* Qt UI: `*.ui`

### Code

Write the name of the classes in Camel Case and the functions in Lower Case Camel Case.

## Documentation

The code has to be properly documented following the [Doxygen guidelines](https://www.stack.nl/~dimitri/doxygen/manual/docblocks.html) with JavaDoc style. It is a mandatory requirement if you want your pull request to be accepted.

## Issue process

1. Check the issue is not already in the list of [opened issues](https://github.com/fblupi/3DCurator/issues).
2. If not, open a new one following the template provided. Do your best to write a good description.

### Pull request process
## Pull request process

1. Pull request must solve some issue.
2. Check the software is running ok and test it as good as you can.
3. Open a new pull request following the template provided.
3. Open a new pull request to develop branch following the template provided.
6 changes: 3 additions & 3 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
3DCurator A 3D Viewer for CTs of Polychromed Wood Sculptures
Copyright (C) 2018 Francisco Javier Bolívar Lupiáñez

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

{project} Copyright (C) {year} {fullname}
3DCurator Copyright (C) 2018 Francisco Javier Bolívar Lupiáñez
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
Expand Down
108 changes: 52 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,32 @@

## Description

A 3D Viewer for CTs of Polychromed Wood Sculptures. Further info in [https://fblupi.github.io/3DCurator/](https://fblupi.github.io/3DCurator/).
A 3D Viewer for CTs of Polychromed Wood Sculptures. Further info in [https://fblupi.github.io/3DCurator/](https://fblupi.github.io/3DCurator/)

## License

[GNU General Public License Version 3](LICENSE).
[GNU General Public License Version 3](LICENSE)

![GNU GPL v3](https://camo.githubusercontent.com/cffb10a3e84f202bdac9c38fe1f9c212a7a8b59a/68747470733a2f2f646c2e64726f70626f7875736572636f6e74656e742e636f6d2f732f7430796c76697337663173746375372f47504c2d332e302e706e67)
![GNU GPL v3](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/gplv3.png)

## Software

* CMake 3.7.2
* Visual Studio Community 2017
* Qt5.9.1
* VTK 8.0.0
* ITK 4.12.0
* Boost 1.64.0
* OpenCV 3.2.0
* Visual Studio Community 2017 15.7.3 (2018, Jun)
* CMake 3.11.3 (2018, May)
* Qt5.11.0 (2018, May)
* VTK 8.1.1 (2018, May)
* ITK 4.13.0 (2017, Dec)
* Boost 1.67.0 (2018, Apr)
* OpenCV 3.4.1 (2018, Feb)

![C++](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/c++.png)
![Visual Studio](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/visual-studio.png)
![CMake](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/cmake.png)
![Qt](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/qt.png)
![VTK](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/vtk.png)
![ITK](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/itk.png)
![Boost](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/boost.png)
![OpenCV](https://raw.githubusercontent.com/fblupi/3DCurator/assets/libs/64/opencv.png)

## Installation and configuration for developers

Expand All @@ -34,15 +43,15 @@ A 3D Viewer for CTs of Polychromed Wood Sculptures. Further info in [https://fbl

* Download [Visual Studio Community 2017](https://www.visualstudio.com/es-es/downloads/download-visual-studio-vs.aspx) and install

##### Qt5.9.1
##### Qt5.11.0

* Download [Qt5.9.1](http://download.qt.io/official_releases/qt/5.9/5.9.1/qt-opensource-windows-x86-5.9.1.exe) and install for `msvc2017 64-bit`
* Create a new environment variable `QTDIR` with the value `C:\Qt\Qt5.9.1`
* Add to the path: `C:\Qt\Qt5.9.1\5.9.1\msvc2017_64\bin`
* Download [Qt5.11.0](http://download.qt.io/official_releases/qt/5.11/5.11.0/qt-opensource-windows-x86-5.11.0.exe) and install for `msvc2017 64-bit`
* Create a new environment variable `QTDIR` with the value `C:\Qt\Qt5.11.0`
* Add to the path: `C:\Qt\Qt5.11.0\5.11.0\msvc2017_64\bin`

##### CMake 3.8.2
##### CMake 3.11.3

* Download [CMake 3.8.2](https://cmake.org/files/v3.8/cmake-3.8.2-win64-x64.msi) and install
* Download [CMake 3.11.3](https://cmake.org/files/v3.11/cmake-3.11.3-win64-x64.msi) and install

#### Build libraries

Expand Down Expand Up @@ -74,79 +83,71 @@ C:\

Thus it will be easier to migrate from one version to another

##### VTK 8.0.0
##### VTK 8.1.1

* Download [VTK 8.0.0](http://www.vtk.org/files/release/8.0/VTK-8.0.0.zip) and extract files
* Download [VTK 8.1.1](http://www.vtk.org/files/release/8.1/VTK-8.1.1.zip) and extract files
* Open CMake and complete the fields:
+ src: `C:\VTK\8.0.0\src`
+ build: `C:\VTK\8.0.0\build\msvc2017_64`
+ src: `C:\VTK\8.1.1\src`
+ build: `C:\VTK\8.1.1\build\msvc2017_64`
* Use `Visual Studio 15 2017 Win64` as generator
* Press configure
* Check advanced options
* Once generated choose these options:
+ `BUILD_SHARED_LIBS`
* Once generated check these options:
+ `Module_vtkDICOM`
+ `Module_vtkGUISupportQt`
+ `Module_vtkGUISupportQtOpenGL`
+ `Module_vtkGUISupportQtSQL`
+ `Module_vtkGUISupportQtWebkit`
+ `Module_vtkRenderingQt`
+ `Module_vtkViewsQt`
+ `VTK_Group_Imaging`
+ `VTK_Group_Qt`
* Add two new entries:
+ `QT_QMAKE_EXECUTABLE:PATHFILE=C:/Qt/Qt5.9.1/5.9.1/msvc2017_64/bin/qmake.exe`
+ `CMAKE_PREFIX_PATH:PATH=C:/Qt/Qt5.9.1/5.9.1/msvc2017_64/`
* Press configure and an error will appear, you have to change the Qt version to the 5 and configure again
* Configure until there is no red option
* Then press generate. It will create some files and folders in `C:\VTK\8.0.0\build\msvc2017_64`
* Then press generate. It will create some files and folders in `C:\VTK\8.1.1\build\msvc2017_64`

##### ITK 4.12.0
##### ITK 4.13.0

* Download [ITK 4.12.0](https://sourceforge.net/projects/itk/files/itk/4.11/InsightToolkit-4.12.0.zip/download) and extract files
* Download [ITK 4.13.0](https://sourceforge.net/projects/itk/files/itk/4.13/InsightToolkit-4.13.0.zip/download) and extract files
* Open CMake and complete the fields:
+ src: `C:\ITK\4.12.0\src`
+ build: `C:\ITK\4.12.0\build\msvc2017_64`
+ src: `C:\ITK\4.13.0\src`
+ build: `C:\ITK\4.13.0\build\msvc2017_64`
* Use `Visual Studio 15 2017 Win64` as generator
* Press configure
* Check advanced options
* Once configured check this option:
+ `Module_ITKVtkGlue`
* Press configure and an error will appear. Give `VTK_DIR` this path `C:\VTK\8.0.0\build\msvc2017_64`
* Press configure and an error will appear. Give `VTK_DIR` this path `C:\VTK\8.1.1\build\msvc2017_64`
* Configure until there is no red option
* Then press generate. It will create some files and folders in `C:\ITK\4.12.0\build\msvc2017_64`
* Then press generate. It will create some files and folders in `C:\ITK\4.13.0\build\msvc2017_64`

#### Compile libraries

##### VTK 8.0.0
##### VTK 8.1.1

* Open `VTK.sln`.
* Open `VTK.sln`
* Build `ALL_BUILD` in *Release* mode and wait for a long time until it finish
* Copy the files `QVTKWidgetPlugin.lib` and `QVTKWidgetPlugin.dll` stored in `C:\VTK\8.0.0\build\msvc2017_64\lib\Release` and `C:\VTK\8.0.0\build\msvc2017_64\bin\Release` respectively and paste in `C:\Qt\Qt5.9.1\5.9.1\msvc2017_64\plugins\designer`. We will be able to use `QVTKWidget` in QtDesigner doing this
* Create a new environment variable `VTK_DIR` with the value `C:\VTK\8.0.0\build\msvc2017_64`
* Create a new environment variable `VTK_DIR` with the value `C:\VTK\8.1.1\build\msvc2017_64`
* Add to the path: `%VTK_DIR%\bin\Release`

##### ITK 4.12.0
##### ITK 4.13.0

* Open `ITK.sln`
* Build `ALL_BUILD` in *Release* mode and wait for a long time until it finish
* Create a new environment variable `ITK_DIR` with the value `C:\ITK\4.12.0\build\msvc2017_64`
* Create a new environment variable `ITK_DIR` with the value `C:\ITK\4.13.0\build\msvc2017_64`
* Add to the path: `%ITK_DIR%\bin\Release`

##### Boost 1.64.0
##### Boost 1.67.0

* Download [Boost 1.64.0](http://sourceforge.net/projects/boost/files/boost/1.64.0/) de su web oficial
* Download [Boost 1.67.0](http://sourceforge.net/projects/boost/files/boost/1.67.0/) de su web oficial
* Extract and open Development Command Prompt for VS2017 in the folder where we have extracted the files
* Type `bootstrap.bat` to generate *Boost.Build*
* Compile with: `b2 toolset=msvc --build-type=complete --abbreviate-paths address-model=64 install -j4`
* Create a new environment variable `BOOST_ROOT` with the value `C:\Boost`

##### OpenCV 3.2.0
##### OpenCV 3.4.1

* Download [OpenCV 3.2.0](https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.2.0/opencv-3.2.0-vc14.exe/download)
* Download [OpenCV 3.4.1](https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.1/opencv-3.4.1-vc14_vc15.exe/download)
* Execute and extract
* Move the extracted directory to `C:\OpenCV\3.2.0\`
* Create a new environment variable `OPENCV_ROOT` with the value `C:\OpenCV\3.2.0\opencv\build\x64\vc14\`
* Move the extracted directory to `C:\OpenCV\3.4.1\`
* Create a new environment variable `OPENCV_ROOT` with the value `C:\OpenCV\3.4.1\opencv\build\x64\vc15\`
* Create a new environment variable `OPENCV_DIR` with the value `%OPENCV_ROOT%\lib`
* Add to the path: `%OPENCV_ROOT%\bin`

Expand All @@ -156,23 +157,18 @@ Thus it will be easier to migrate from one version to another
+ src: `%PROJECT_PATH%\src`
+ build: `%PROJECT_PATH%\build`
* Use `Visual Studio 15 2017 Win64` as generator
* In `CMAKE_CONFIGURATION_TYPES` type only `Release`
* Configure until there is no red option
* Then press generate. It will create some files and folders in `%PROJECT_PATH%\build`
* Open `3DCurator.sln`
* Open *Project Properties* go to *Configuration Properties > Linker > System* and:
* In *SubSystem* select the option *Windows (/SUBSYSTEM:WINDOWS)*
* In *Enable Large Adresses* select the option *Yes (/LARGEADRESSAWARE)*
* Set `3DCurator` solution as default project
* Once compiled, copy to the `build\Release` folder the DLL files `libEGL.dll`, `libGLESv2.dll`, `Qt5Core.dll`, `Qt5Gui.dll` and `Qt5Widgets.dll` from `C:\Qt\Qt5.10.1\5.10.1\msvc2017_64\bin`.
### Linux

##### F.A.Q.

* If you get the error below when you execute the program Copy to the `Release` folder the DLL files `libEGL.dll`, `libGLESv2.dll`, `Qt5Core.dll`, `Qt5Gui.dll` and `Qt5Widgets.dll` (you can find them in `C:\Qt\Qt5.9.1\5.9.1\msvc2017_64\bin`)

```
The procedure entry point ?rgbSwapped@QImage@@QEHAA$$QEAV1@Z could not be located in the dynamic link library C:\VTK\8.0.0\build\bin\Release\vtkGUISupportQt-8.0.dll
```
Building...

### Linux
### Mac OS X

Building...
Binary file added assets/i18n/en_US.qm
Binary file not shown.
Loading

0 comments on commit 6495779

Please sign in to comment.