Commit graph

136 commits

Author SHA1 Message Date
Fabien Castan
d1ab458e56 [ui] fix qml warnings when there is no metadata on input images 2020-03-10 12:50:30 +01:00
Fabien Castan
19d2f90554 [ui] ImageGallery: allow to visualize the list of HDR images created by LDRToHDR
Conflicts:
	meshroom/ui/reconstruction.py
2020-03-10 12:33:36 +01:00
Fabien Castan
089289beae [ui] add "New Pipeline" submenu 2020-03-10 12:11:13 +01:00
Fabien Castan
a37ecc189c [ui] reset depthmap node when camerainit change 2020-01-27 13:16:23 +01:00
ChemicalXandco
978f4a9b00 [ui] Reconstruction: add 'depthMap' member 2020-01-27 13:16:21 +01:00
Fabien Castan
2431b5326a [ui] fix import of images from command line 2020-01-15 20:11:54 +01:00
Fabien Castan
18f2161e06 [ui] reconstruction: avoid problems on empty metadata 2019-12-16 12:33:22 +01:00
Fabien Castan
f03b52e415 [multiview] setup xml files to Panorama node, create KeyframeSelection for video files 2019-11-04 12:12:08 +01:00
Fabien Castan
07f564d6e0 [bin] meshroom: option to choose HDRI pipeline 2019-11-04 00:30:22 +01:00
Fabien Castan
7118c9489d Merge branch 'develop' into dev/imagesImport 2019-11-01 15:50:59 +01:00
Fabien Castan
7950b9f36b
Merge pull request #632 from alicevision/dev/commandline_args
Improve command line arguments
2019-09-26 14:42:17 +02:00
Fabien Castan
a53940d29f [core] graph: variable rename 2019-09-25 21:07:28 +02:00
Fabien Castan
06543f89a9 [core] use more explicit argument name: setupFileRef 2019-09-21 18:19:17 +02:00
Fabien Castan
fa7b4587ca [ui] meshroom: improve import command line arguments
-  explicit error messages
-  allow to combine multiple inputs with new --import and --importRecursive options
2019-09-21 18:04:26 +02:00
Yann Lanthony
ae91f3bcd5
[reconstruction] ViewpointWrapper: fix uvCenterOffset for rotated images
correctly apply image transformation to principal point correction in uv coordinates.
2019-09-19 12:50:48 +02:00
Fabien Castan
a712613bd2 [ui] Add an error popup when there is no supported image to import and when the import failed 2019-09-14 16:06:45 +02:00
Fabien Castan
231125efdf [ui] improve meshroom command line
- "meshroom -h / --help": now provides command line documentation (so
argparse is done before GUI creation)
- new positional argument to set project file or input folder
- new "--pipeline" option to set a default pipeline, also support an
environment variable
2019-09-12 21:14:52 +02:00
Yann Lanthony
f870e252b4
[ui] Reconstruction: add 'setActiveNodeOfType' method
Helper method to set a node as the active one of its type.
2019-09-11 10:49:09 +02:00
Yann Lanthony
94993d1212
[reconstruction] introduce ViewpointWrapper
* new class that wraps an input image (Viewpoint) in the context of a Reconstruction
* exposes properties to access image and camera data
2019-09-10 18:38:17 +02:00
Yann Lanthony
d46ed62b05
[reconstruction] add prepareDenseScene property
keep reference to active prepareDenseScene to be able to compose paths to undistorted images
2019-09-10 18:34:39 +02:00
Yann Lanthony
c7a55e56b7
[reconstruction] retrieve and expose solved intrinsics
* [nodes] SfM: make more generic method to get SfM results and return solved intrinsics in addition to views and poses
* [reconstruction] store and expose solved intrinsics by viewpoints
2019-09-10 18:23:35 +02:00
Yann Lanthony
4435ba9e1b
[ui] Reconstruction: add 'featureExtraction' member
* add featureExtraction property to keep track of current FeatureExtraction node 
* update it when current CameraInit node is changed
* allow to set current CameraInit by double clicking on a CameraInit node from the Graph Editor
2019-06-27 18:36:10 +02:00
Yann Lanthony
a358c46748
[ui] Reconstruction: improve constructor readability 2019-06-27 18:31:50 +02:00
Yann Lanthony
00857a7a88
[ui] Reconstruction: rename 'endNode' to 'texturing'
+ use makeProperty helper
2019-06-27 18:29:33 +02:00
Yann Lanthony
7546e9ad10 [ui] IntrinsicsIndicator: display distortion model
Directly use intrinsic attribute in IntrinsicsIndicator to retrieve useful values, instead of dedicated methods in 'Reconstruction'.
2019-01-31 17:36:26 +01:00
Yann Lanthony
1cc2561a21 [multiview] unify image files helper functions
Move everything related to image files detection to the 'multiview' module.
2019-01-29 16:04:39 +01:00
Yann Lanthony
7cccea34f2 [ui] reconstruction: fix missing boolean return value 2019-01-28 11:17:25 +01:00
Yann Lanthony
6c9ed42736 [ui] Reconstruction: expose rebuildIntrinsics method
Additional method to rebuild intrinsics from scratch; useful when the sensor database has been modified after an initial images drop.
2019-01-23 18:51:05 +01:00
Yann Lanthony
663a5d679d [ui] ImageGallery: introduce IntrinsicsIndicator
New IntrinsicsIndicator component that displays the initialization mode of each Viewpoint's intrinsic with explanatory tooltip.
2019-01-22 15:57:30 +01:00
Yann Lanthony
fad2cc3e1c [ui] Reconstruction: prevent QML from evaluating destroyed objects
* reset cameraInit property to None when underlying object is destroyed
* test for viewpoints validity in 'isInViews' and 'isReconstructed' methods
2019-01-21 10:55:17 +01:00
Yann Lanthony
bc9abe3b07 Merge remote-tracking branch 'origin/develop' into dev_viewer3D_multi 2018-12-10 15:26:19 +01:00
Fabien Castan
3f4a5b203f
Merge pull request #264 from alicevision/dev_keyframeAndRig
New camera rig workflow
2018-12-10 15:25:07 +01:00
Yann Lanthony
7a8e1c689f [ui] Reconstruction: expose end node instead of mesh filepath
In preparation for massive Viewer3D refactoring.
2018-11-23 20:20:08 +01:00
Grégoire De Lillo
ad4aa908ee [ui] Allows .arw file extension 2018-10-30 11:28:52 +01:00
Yann Lanthony
7c2255c090 [ui] get reconstruction statuses from updated poseIds in sfm result
* compatibility with rigs, where poseId of views are updated after SfM
* count the number of reconstructed viewpoints based on this
2018-10-11 20:31:24 +02:00
Fabien Castan
51995f47e4 [ui] ImageGallery: display metadata and lens status flag 2018-08-05 20:44:02 +02:00
Yann Lanthony
880816f194 [ui] show callstack in case of unexpected error when loading a file
+ log it
2018-07-28 13:10:23 +02:00
Yann Lanthony
f415745a4a [ui] make Nodes moves undoable
Handle nodes move and auto-layout on Python side by using GraphLayout and MoveNodeCommand.

* Node QML component relies on underlying core.Node object's position
* MoveNodeCommand is called after a Node has been dragged
* partial/full auto-layout for specific graph operations (Duplication, Augmentation...) are now part of those operations
* serialized position in node data allows to properly restore nodes coordinates on undo/redo
* remove all layout/node moving code from QML
2018-07-26 22:46:22 +02:00
Fabien Castan
bb0155ba42
Merge pull request #150 from alicevision/dev_versionCompatibility
Introduce version compatibility handling
2018-07-26 12:50:15 +02:00
Yann Lanthony
93dd055f72 [clean] fix variable names and typos
* node_factory & attribute_factory to camelCase
* fix depths variable in updateNodesTopologicalData
2018-07-26 12:11:43 +02:00
Yann Lanthony
a4a40de8b8 [ui] warning message when opening projects with no version info 2018-07-25 11:23:21 +02:00
Yann Lanthony
1d309136ec [core][node] serialization: rename 'attributes' to 'inputs' 2018-07-19 13:50:45 +02:00
Yann Lanthony
33eb7f3a7f [core] introduce CompatibilityNode for improved scene compatibilities
Improve node serialization/deserialization to be able to recreate the exact same node in the graph when loading a meshroom project, even if the corresponding node's description has changed or does not exist anymore. This allows to recover already computed data on disk, without being impacted by changed uids. CompatibilityNode also provides an on-demand upgrade system to turn into a Node that meets the current node description (if possible).
 
* new abstract class BaseNode, base class for Node and CompatibiliyNode 
* Node: serialize everything needed to spawn a CompatibilityNode with precomputed outputs: inputs, uids, parallelization settings, unresolved internal folders and outputs
* node_factory: handles node deserialization and compatibility issues to create either a Node or a CompatibilityNode
* add compatibility unit tests
2018-07-19 13:50:45 +02:00
Fabien Castan
2480c22bf2 [ui] display number of reconstructed cameras 2018-07-16 23:15:00 +02:00
Yann Lanthony
80869879bb [ui] fix Live Reconstruction mode
* use Filepath to setup watched folder
* consider whether mvs nodes were created when sending sfmAugmented signal
2018-07-05 16:45:59 +02:00
Yann Lanthony
1f675a0e42 [core] split graph.py into separate modules
core.graph is now splitted into: 
  * graph.py
  * node.py
  * attribute.py
2018-06-26 12:19:14 +02:00
Yann Lanthony
2cd724f957 [graph] ListAttribute: replace '__getitem__ by 'at'
__getitem__ is spuriously called when the object is used inside a Qt model and exposed to QML, leading to unexpected behaviors
2018-06-18 14:43:18 +02:00
Yann Lanthony
b46520009f [ui] add 'Message' structure to wrap high-level messages
* fix random segfault due to signals with 2+ arguments (PySide bug)
* group Connections to '_reconstruction' instance
2018-05-28 11:25:41 +02:00
Yann Lanthony
f324416ab4 Fix SfM node state 2018-05-05 14:18:36 +02:00
Yann Lanthony
f87024b0c5 [ui] highlight selected view in 3D + 3D picking
Spawn a cube on each camera to display which one is selected + allow picking from the 3D view
2018-04-21 13:14:29 +02:00