Skip to content

Commit

Permalink
Merge pull request #388 from alicevision/pr-release-2019.1.0
Browse files Browse the repository at this point in the history
Release 2019.1.0
  • Loading branch information
fabiencastan committed Feb 28, 2019
2 parents 721549a + c2382c1 commit 411de1c
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 19 deletions.
58 changes: 55 additions & 3 deletions CHANGES.md
Expand Up @@ -3,7 +3,59 @@
For algorithmic changes related to the photogrammetric pipeline,
please refer to [AliceVision changelog](https://github.com/alicevision/AliceVision/blob/develop/CHANGES.md).

## Release 2018.1.0

## Release 2019.1.0 (2019.02.27)

Based on [AliceVision 2.1.0](https://github.com/alicevision/AliceVision/tree/v2.1.0).

Release Notes Summary:
- 3D Viewer: Load and compare multiple assets with cache mechanism and improved navigation
- Display camera intrinsic information extracted from metadata analysis
- Easier access to a more complete sensor database with a more reliable camera model matching algorithm.
- Attribute Editor: Hide advanced/experimental parameters by default to improve readability and simplify access to the most useful, high-level settings. Advanced users can still enable them to have full access to internal thresholds.
- Graph Editor: Improved set of contextual tools with `duplicate`/`remove`/`delete data` actions with `From Here` option.
- Nodes: Homogenization of inputs / outputs parameters
- Meshing: Better, faster and configurable estimation of the space to reconstruct based on the sparse point cloud (new option `estimateSpaceFromSfM`). Favors high-density areas and helps removing badly defined ones.
- Draft Meshing (no CUDA required): the result of the sparse reconstruction can now be directly meshed to get a 3D model preview without computing the depth maps.
- MeshFiltering: Now keeps all reconstructed parts by default.
- StructureFromMotion: Add support for rig of cameras
- Support for reconstruction with projected light patterns and texturing with another set of images

Full Release Notes:
- Viewer3D: New Trackball camera manipulator for improved navigation in the scene
- Viewer3D: New library system to load multiple 3D objects of the same type simultaneously, simplifying results comparisons
- Viewer3D: Add media loading overlay with BusyIndicator
- Viewer3D: Points and cameras size are now configurable via dedicated sliders.
- CameraInit: Add option to lock specific cameras intrinsics (if you have high-quality internal calibration information)
- StructureFromMotion: Triangulate points if the input scene contains valid camera poses and intrinsics without landmarks
- PrepareDenseScene: New `imagesFolders` option to override input images. This enables to use images with light patterns projected for SfM and MVS parts and do the Texturing with another set of images.
- NodeLog: Cross-platform monospace display
- Remove `CameraConnection` and `ExportUndistortedImages` nodes
- Multi-machine parallelization of `PrepareDenseScene`
- Meshing: Add option `estimateSpaceFromSfM` and observation angles check to better estimate the bounding box of the reconstruction and avoid useless reconstruction of the environment
- Console: Filter non silenced, inoffensive warnings from QML + log Qt messages via Python logging
- Command line (meshroom_photogrammetry): Add --pipeline parameter to use a pre-configured pipeline graph
- Command line (meshroom_photogrammetry): Add possibility to provide pre-calibrated intrinsics.
- Command line (meshroom_compute): Provide `meshroom_compute` executable in packaged release.
- Image Gallery: Display Camera Intrinsics initialization status with detailed explanation, edit Sensor Database dialog, advanced menu to display view UIDs
- StructureFromMotion: Expose advanced estimator parameters
- FeatureMatching: Expose advanced estimator parameters
- DepthMap: New option `exportIntermediateResults` disabled by default, so less data storage by default than before.
- DepthMap: Use multiple GPUs by default if available and add `nbGPUs` param to limit it
- Meshing: Add option `addLandmarksToTheDensePointCloud`
- SfMTransform: New option to align on one specific camera
- Graph Editor: Consistent read-only mode when computing, that can be unlocked in advanced settings
- Graph Editor: Improved Node Menu: "duplicate"/"remove"/"delete data" with "From Here" accessible on the same entry via an additional button
- Graph Editor: Confirmation popup before deleting node data
- Graph Editor: Add "Clear Pending Status" action at Graph level
- Graph Editor: Solo media in 3D viewer with Ctrl + double click on node/attribute
- Param Editor: Fix several bugs related to attributes edition
- Scene Compatibility: Improves detection of deeper compatibility issues, by adding an additional recursive (taking List/GroupAttributes children into account) exact description matching test when de-serializing a Node.

See [AliceVision 2.1.0 Release Notes](https://github.com/alicevision/AliceVision/blob/v2.1.0/CHANGES.md)
for more details about algorithmic changes.


## Release 2018.1.0 (2018.08.09)

First release of Meshroom.
Based on [AliceVision 2.0.0](https://github.com/alicevision/AliceVision/tree/v2.0.0).
Based on [AliceVision 2.0.0](https://github.com/alicevision/AliceVision/tree/v2.0.0).
23 changes: 17 additions & 6 deletions Dockerfile
Expand Up @@ -9,7 +9,7 @@ LABEL maintainer="AliceVision Team alicevision-team@googlegroups.com"
ENV MESHROOM_DEV=/opt/Meshroom \
MESHROOM_BUILD=/tmp/Meshroom_build \
MESHROOM_BUNDLE=/opt/Meshroom_bundle \
QT_DIR=/opt/qt/5.11.0/gcc_64 \
QT_DIR=/opt/qt/5.11.1/gcc_64 \
PATH="${PATH}:${MESHROOM_BUNDLE}"

COPY . "${MESHROOM_DEV}"
Expand Down Expand Up @@ -40,21 +40,32 @@ RUN yum install -y centos-release-scl
RUN yum install -y rh-python36

# Install Meshroom requirements and freeze bundle
RUN source scl_source enable rh-python36 && cd "${MESHROOM_DEV}" && pip install -r dev_requirements.txt -r requirements.txt && python setup.py install_exe -d "${MESHROOM_BUNDLE}"
RUN source scl_source enable rh-python36 && cd "${MESHROOM_DEV}" && pip install -r dev_requirements.txt -r requirements.txt && python setup.py install_exe -d "${MESHROOM_BUNDLE}" && \
find ${MESHROOM_BUNDLE} -name "*Qt5Web*" -delete && \
find ${MESHROOM_BUNDLE} -name "*Qt5Designer*" -delete && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/libclang.so* && \
rm -rf ${MESHROOM_BUNDLE}/lib/PySide2/typesystems/ ${MESHROOM_BUNDLE}/lib/PySide2/examples/ ${MESHROOM_BUNDLE}/lib/PySide2/include/ ${MESHROOM_BUNDLE}/lib/PySide2/Qt/translations/ ${MESHROOM_BUNDLE}/lib/PySide2/Qt/resources/ && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/libQt5* && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/QtWeb* && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/libicu* && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/pyside2-lupdate ${MESHROOM_BUNDLE}/lib/PySide2/pyside2-rcc ${MESHROOM_BUNDLE}/lib/PySide2/shiboken2

# Install Qt (to build plugins)
WORKDIR /tmp/qt
RUN curl -LO http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
RUN chmod u+x qt-unified-linux-x64-online.run
RUN ./qt-unified-linux-x64-online.run --verbose --platform minimal --script "${MESHROOM_DEV}/docker/qt-installer-noninteractive.qs"
RUN curl -LO http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run && \
chmod u+x qt-unified-linux-x64-online.run && \
./qt-unified-linux-x64-online.run --verbose --platform minimal --script "${MESHROOM_DEV}/docker/qt-installer-noninteractive.qs" && \
rm ./qt-unified-linux-x64-online.run

WORKDIR ${MESHROOM_BUILD}
# Temporary workaround for qmlAlembic build
RUN rm -rf "${AV_INSTALL}/lib" && ln -s "${AV_INSTALL}/lib64" "${AV_INSTALL}/lib"

# Build Meshroom plugins
RUN cmake "${MESHROOM_DEV}" -DALICEVISION_ROOT="${AV_INSTALL}" -DQT_DIR="${QT_DIR}" -DCMAKE_INSTALL_PREFIX="${MESHROOM_BUNDLE}/qtPlugins"
RUN make -j8
RUN make -j8 && cd /tmp && rm -rf ${MESHROOM_BUILD}

RUN mv "${AV_BUNDLE}" "${MESHROOM_BUNDLE}/aliceVision"
RUN rm -rf ${MESHROOM_BUNDLE}/aliceVision/share/doc ${MESHROOM_BUNDLE}/aliceVision/share/eigen3 ${MESHROOM_BUNDLE}/aliceVision/share/fonts ${MESHROOM_BUNDLE}/aliceVision/share/lemon ${MESHROOM_BUNDLE}/aliceVision/share/libraw ${MESHROOM_BUNDLE}/aliceVision/share/man/ aliceVision/share/pkgconfig


16 changes: 8 additions & 8 deletions docker/qt-installer-noninteractive.qs
Expand Up @@ -46,14 +46,14 @@ Controller.prototype.ComponentSelectionPageCallback = function() {
widget.deselectAll();

// widget.selectComponent("qt");
// widget.selectComponent("qt.qt5.5110");
widget.selectComponent("qt.qt5.5110.gcc_64");
// widget.selectComponent("qt.qt5.5110.qtscript");
// widget.selectComponent("qt.qt5.5110.qtscript.gcc_64");
// widget.selectComponent("qt.qt5.5110.qtwebengine");
// widget.selectComponent("qt.qt5.5110.qtwebengine.gcc_64");
// widget.selectComponent("qt.qt5.5110.qtwebglplugin");
// widget.selectComponent("qt.qt5.5110.qtwebglplugin.gcc_64");
// widget.selectComponent("qt.qt5.5111");
widget.selectComponent("qt.qt5.5111.gcc_64");
// widget.selectComponent("qt.qt5.5111.qtscript");
// widget.selectComponent("qt.qt5.5111.qtscript.gcc_64");
// widget.selectComponent("qt.qt5.5111.qtwebengine");
// widget.selectComponent("qt.qt5.5111.qtwebengine.gcc_64");
// widget.selectComponent("qt.qt5.5111.qtwebglplugin");
// widget.selectComponent("qt.qt5.5111.qtwebglplugin.gcc_64");
// widget.selectComponent("qt.tools");

gui.clickButton(buttons.NextButton);
Expand Down
2 changes: 1 addition & 1 deletion meshroom/__init__.py
@@ -1,4 +1,4 @@
__version__ = "2018.1.0"
__version__ = "2019.1.0"

import os
# Allow override from env variable
Expand Down
2 changes: 1 addition & 1 deletion meshroom/multiview.py
@@ -1,5 +1,5 @@
# Multiview pipeline version
__version__ = "1.0"
__version__ = "2.1"

import os

Expand Down

0 comments on commit 411de1c

Please sign in to comment.