diff --git a/CHANGES.md b/CHANGES.md index c8773c2b..1b25d84c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,81 @@ For algorithmic changes related to the photogrammetric pipeline, please refer to [AliceVision changelog](https://github.com/alicevision/AliceVision/blob/develop/CHANGES.md). +## Release 2020.1.0 (2020.10.09) + +Based on [AliceVision 2.3.0](https://github.com/alicevision/AliceVision/tree/v2.3.0). + +### Release Notes Summary + + - [nodes] New Panorama Stitching nodes with support for fisheye lenses [PR](https://github.com/alicevision/meshroom/pull/639) [PR](https://github.com/alicevision/meshroom/pull/808) + - [nodes] HDR: Largely improved HDR calibration, including new LdrToHdrSampling for optimal sample selection [PR](https://github.com/alicevision/meshroom/pull/808) [PR](https://github.com/alicevision/meshroom/pull/1016) [PR](https://github.com/alicevision/meshroom/pull/990) + - [ui] Viewer3D: Input bounding box (Meshing) & manual transformation (SfMTransform) thanks to a new 3D Gizmo [PR](https://github.com/alicevision/meshroom/pull/978) + - [ui] Sync 3D camera with image selection [PR](https://github.com/alicevision/meshroom/pull/633) + - [ui] New HDR (floating point) Image Viewer [PR](https://github.com/alicevision/meshroom/pull/795) + - [ui] Ability to load depth maps into 2D and 3D Viewers [PR](https://github.com/alicevision/meshroom/pull/769) [PR](https://github.com/alicevision/meshroom/pull/657) + - [ui] New features overlay in Viewer2D allows to display tracks and landmarks [PR](https://github.com/alicevision/meshroom/pull/873) [PR](https://github.com/alicevision/meshroom/pull/1001) + - [ui] Add SfM statistics [PR](https://github.com/alicevision/meshroom/pull/873) + - [ui] Visual interface for node resources usage [PR](https://github.com/alicevision/meshroom/pull/564) + - [nodes] Coordinate system alignment to specific markers or between scenes [PR](https://github.com/alicevision/meshroom/pull/652) + - [nodes] New Sketchfab upload node [PR](https://github.com/alicevision/meshroom/pull/712) + - [ui] Dynamic Parameters: add a new 'enabled' property to node's attributes [PR](https://github.com/alicevision/meshroom/pull/1007) [PR](https://github.com/alicevision/meshroom/pull/1027) + - [ui] Viewer: add Camera Response Function display [PR](https://github.com/alicevision/meshroom/pull/1020) [PR](https://github.com/alicevision/meshroom/pull/1041) + - [ui] UI improvements in the Viewer2D and ImageGallery [PR](https://github.com/alicevision/meshroom/pull/823) + - [bin] Improve Meshroom command line [PR](https://github.com/alicevision/meshroom/pull/759) [PR](https://github.com/alicevision/meshroom/pull/632) + - [nodes] New ImageProcessing node [PR](https://github.com/alicevision/meshroom/pull/839) [PR](https://github.com/alicevision/meshroom/pull/970) [PR](https://github.com/alicevision/meshroom/pull/941) + - [nodes] `FeatureMatching` Add `fundamental_with_distortion` option [PR](https://github.com/alicevision/meshroom/pull/931) + - [multiview] Declare more recognized image file extensions [PR](https://github.com/alicevision/meshroom/pull/965) + - [multiview] More generic metadata support [PR](https://github.com/alicevision/meshroom/pull/957) + +### Other Improvements and Bug Fixes + + - [nodes] CameraInit: New viewId generation and selection of allowed intrinsics [PR](https://github.com/alicevision/meshroom/pull/973) + - [core] Avoid error during project load on border cases [PR](https://github.com/alicevision/meshroom/pull/991) + - [core] Compatibility : Improve list of groups update [PR](https://github.com/alicevision/meshroom/pull/791) + - [core] Invalidation hooks [PR](https://github.com/alicevision/meshroom/pull/732) + - [core] Log manager for Python based nodes [PR](https://github.com/alicevision/meshroom/pull/631) + - [core] new Node Update Hooks mechanism [PR](https://github.com/alicevision/meshroom/pull/733) + - [core] Option to make chunks optional [PR](https://github.com/alicevision/meshroom/pull/778) + - [nodes] Add methods in ImageMatching and features in StructureFromMotion and FeatureMatching [PR](https://github.com/alicevision/meshroom/pull/768) + - [nodes] FeatureExtraction: add maxThreads argument [PR](https://github.com/alicevision/meshroom/pull/647) + - [nodes] Fix python nodes being blocked by log [PR](https://github.com/alicevision/meshroom/pull/783) + - [nodes] ImageProcessing: add new option to fix non finite pixels [PR](https://github.com/alicevision/meshroom/pull/1057) + - [nodes] Meshing: simplify input depth map folders [PR](https://github.com/alicevision/meshroom/pull/951) + - [nodes] PanoramaCompositing: add a new graphcut option to improve seams [PR](https://github.com/alicevision/meshroom/pull/1026) + - [nodes] PanoramaCompositing: option to select the percentage of upscaled pixels [PR](https://github.com/alicevision/meshroom/pull/1049) + - [nodes] PanoramaInit: add debug circle detection option [PR](https://github.com/alicevision/meshroom/pull/1069) + - [nodes] PanoramaInit: New parameter to set an extra image rotation to each camera declared the input xml [PR](https://github.com/alicevision/meshroom/pull/1046) + - [nodes] SfmTransfer: New option to transfer intrinsics parameters [PR](https://github.com/alicevision/meshroom/pull/1053) + - [nodes] StructureFromMotion: Add features’s scale as an option [PR](https://github.com/alicevision/meshroom/pull/822) [PR](https://github.com/alicevision/meshroom/pull/817) + - [nodes] Texturing: add options for retopoMesh & reorganise options [PR](https://github.com/alicevision/meshroom/pull/571) + - [nodes] Texturing: put downscale to 2 by default [PR](https://github.com/alicevision/meshroom/pull/1048) + - [sfm] Add option to include 'unknown' feature types in ConvertSfMFormat, needed to be used on dense point cloud from the Meshing node [PR](https://github.com/alicevision/meshroom/pull/584) + - [ui] Automatically update layout when needed [PR](https://github.com/alicevision/meshroom/pull/989) + - [ui] Avoid crash in 3D with large panoramas [PR](https://github.com/alicevision/meshroom/pull/1061) + - [ui] Fix graph axes naming for ram statistics [PR](https://github.com/alicevision/meshroom/pull/1033) + - [ui] NodeEditor: minor improvements with single tab group and status table [PR](https://github.com/alicevision/meshroom/pull/637) + - [ui] Viewer3D: Display equirectangular images as environment maps [PR](https://github.com/alicevision/meshroom/pull/731) + - [windows] Fix open recent broken on windows and remove unnecessary warnings [PR](https://github.com/alicevision/meshroom/pull/940) + +### Build, CI, Documentation + + - [build] Fix cxFreeze version for Python 2.7 compatibility [PR](https://github.com/alicevision/meshroom/pull/634) + - [ci] Add github Actions [PR](https://github.com/alicevision/meshroom/pull/1051) + - [ci] AppVeyor: Update build environment and save artifacts [PR](https://github.com/alicevision/meshroom/pull/875) + - [ci] Travis: Update environment, remove Python 2.7 & add 3.8 [PR](https://github.com/alicevision/meshroom/pull/874) + - [docker] Clean Dockerfiles [PR](https://github.com/alicevision/meshroom/pull/1054) + - [docker] Move to PySide2 / Qt 5.14.1 + - [docker] Fix some packaging issues of the release 2019.2.0 [PR](https://github.com/alicevision/meshroom/pull/627) + - [github] Add exemptLabels [PR](https://github.com/alicevision/meshroom/pull/801) + - [github] Add issue templates [PR](https://github.com/alicevision/meshroom/pull/579) + - [github] Add template for questions / help only [PR](https://github.com/alicevision/meshroom/pull/629) + - [github] Added automatic stale detection and closing for issues [PR](https://github.com/alicevision/meshroom/pull/598) + - [python] Import ABC from collections.abc [PR](https://github.com/alicevision/meshroom/pull/983) + +For more details see all PR merged: https://github.com/alicevision/meshroom/milestone/10 + +See [AliceVision 2.3.0 Release Notes](https://github.com/alicevision/AliceVision/blob/v2.3.0/CHANGES.md) for more details about algorithmic changes. + ## Release 2019.2.0 (2019.08.08) diff --git a/dev_requirements.txt b/dev_requirements.txt index 9db719b7..0a1c0791 100644 --- a/dev_requirements.txt +++ b/dev_requirements.txt @@ -1,7 +1,8 @@ # packaging cx_Freeze==5.1.1;python_version<"3.5" -cx_Freeze;python_version>="3.5" +# Problem with cx_freeze-6.2, see https://github.com/marcelotduarte/cx_Freeze/issues/652 +cx_Freeze==6.1;python_version>="3.5" # testing pytest diff --git a/docker/Dockerfile_centos_deps b/docker/Dockerfile_centos_deps index 7b7b84f1..be0ec7a8 100644 --- a/docker/Dockerfile_centos_deps +++ b/docker/Dockerfile_centos_deps @@ -49,7 +49,7 @@ RUN yum install -y \ # Install Python3 RUN yum install -y centos-release-scl && yum install -y rh-python36 && source scl_source enable rh-python36 && pip install --upgrade pip -COPY ./*requirements.txt ./setup.py ${MESHROOM_DEV}/ +COPY ./*requirements.txt ${MESHROOM_DEV}/ # Install Meshroom requirements and freeze bundle WORKDIR "${MESHROOM_DEV}" diff --git a/docker/Dockerfile_centos_deps_py2 b/docker/Dockerfile_centos_deps_py2 index 39b4efb3..fcbd539a 100644 --- a/docker/Dockerfile_centos_deps_py2 +++ b/docker/Dockerfile_centos_deps_py2 @@ -52,7 +52,7 @@ RUN yum install -y python-devel && \ python /tmp/get-pip.py && \ pip install --upgrade pip -COPY ./*requirements.txt ./setup.py ${MESHROOM_DEV}/ +COPY ./*requirements.txt ${MESHROOM_DEV}/ # Install Meshroom requirements and freeze bundle WORKDIR "${MESHROOM_DEV}" diff --git a/meshroom/__init__.py b/meshroom/__init__.py index e2847226..02bbabcf 100644 --- a/meshroom/__init__.py +++ b/meshroom/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2019.2.0" +__version__ = "2020.1.0" __version_name__ = __version__ from distutils import util diff --git a/meshroom/submitters/simpleFarmConfig.json b/meshroom/submitters/simpleFarmConfig.json index d3f11369..67fd4036 100644 --- a/meshroom/submitters/simpleFarmConfig.json +++ b/meshroom/submitters/simpleFarmConfig.json @@ -2,13 +2,13 @@ "BASE": ["mikrosRender"], "CPU": { "NONE": [], - "NORMAL": [], + "NORMAL": ["@.nCPUs>8"], "INTENSIVE": ["@.nCPUs>30"] }, "RAM": { "NONE": [], "NORMAL": ["@.mem>8"], - "INTENSIVE": ["@.mem>30"] + "INTENSIVE": ["@.mem>80"] }, "GPU": { "NONE": [], diff --git a/setup.py b/setup.py index a6ba9855..1071456d 100644 --- a/setup.py +++ b/setup.py @@ -6,6 +6,8 @@ from cx_Freeze import setup, Executable import meshroom +currentDir = os.path.dirname(os.path.abspath(__file__)) + class PlatformExecutable(Executable): """ Extend cx_Freeze.Executable to handle platform variations. @@ -32,7 +34,6 @@ class PlatformExecutable(Executable): # get icon for platform if defined icon = icons.get(platform.system(), None) if icons else None if platform.system() in (self.Linux, self.Darwin): - currentDir = os.path.dirname(os.path.abspath(__file__)) initScript = os.path.join(currentDir, "setupInitScriptUnix.py") super(PlatformExecutable, self).__init__(script, initScript, base, targetName, icon, shortcutName, shortcutDir, copyright, trademarks) @@ -46,11 +47,12 @@ build_exe_options = { ], "include_files": ["CHANGES.md", "COPYING.md", "LICENSE-MPL2.md", "README.md"] } -if os.path.isdir("tractor"): +if os.path.isdir(os.path.join(currentDir, "tractor")): build_exe_options["packages"].append("tractor") -if os.path.isdir("simpleFarm"): +if os.path.isdir(os.path.join(currentDir, "simpleFarm")): build_exe_options["packages"].append("simpleFarm") + if platform.system() == PlatformExecutable.Linux: # include required system libs # from https://github.com/Ultimaker/cura-build/blob/master/packaging/setup_linux.py.in