Commit graph

238 commits

Author SHA1 Message Date
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
979ee4ba94 [bin] meshroom_photogrammetry: setup cache folder according to --save path
except if --cache is set explicitly
2019-09-12 21:36:36 +02:00
Fabien Castan
ad9a2153c5 [core] use logging for plugins loaded message 2019-09-12 21:18:11 +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
Fabien Castan
6c7523243a [core] stats: no processing in ComputerStatistics constructor
ComputerStatistics is instanciated for each NodeChunk, so any
computation here takes time. Instead we initialize the values on the
first update().
2019-09-10 18:56:24 +02:00
Fabien Castan
8c62437a68 [core] stats: use cElementTree on python 2 2019-09-10 18:56:20 +02:00
Fabien Castan
4d7ea32721 [core] stats bugfix: do not rely the ordering of the json entries
* do not rely on the ordering of the json entries, as it can vary from
one version to another.
* ensure variables are always initialized (even in case of exception)
* add some debug logging on errors in nvidia-smi parsing
2019-09-10 12:19:40 +02:00
Fabien Castan
dbeab285cf Merge branch 'develop' of github.com:alicevision/meshroom into dev/stats 2019-09-10 09:20:00 +02:00
Fabien Castan
9d8e3648b2 [core] submitters: if there is only one submitter, use it!
More explicit error messages when the submitter is not found.
2019-08-21 21:48:03 +02:00
Lee Geertsen
54ff012a04 Clear statistics when node has finished computing 2019-07-26 11:33:37 +02:00
Lee Geertsen
73f667d226 Add new CPU and RAM stats with new psutil version 5.6.3 2019-07-26 11:32:33 +02:00
Lee Geertsen
edf5dc7570 Set update interval variable and add it to statistics file 2019-07-26 11:31:31 +02:00
Lee Geertsen
0a0d21d4a1 Add GPU stats 2019-07-26 11:30:27 +02:00
Yann Lanthony
f6a42cb86e
[ui] Nodes status monitoring simplification
* store status file last modification time on NodeChunk
* ChunksMonitor: don't stop the underlying thread when changing chunks, only modify the list of monitored files + use a mutex for thread-safety
2019-07-24 18:02:29 +02:00
Fabien Castan
cc476d40ed
Merge pull request #464 from alicevision/dev_texturing_multiband
Multi-band blending texturing
2019-06-21 00:14:46 +02:00
Fabien Castan
889f7bc484
Merge pull request #454 from alicevision/dev_rangeBlockSize
Make range complete block size accessible to command line nodes
2019-06-07 12:25:02 +02:00
cclauss
09b28bbc2a
if v: 2019-05-14 12:30:37 +02:00
Clara
9f928e1ea0 [mesh] Texturing: set parameters for multi-band blending
Use only 3 parameters : useScore, multiBandDownscale, multiBandNbContrib
2019-05-13 17:04:26 +02:00
Yann Lanthony
275c4133fe
[core] make range complete block size accessible to command line nodes
* range 'blockSize' is now the complete block size (equal for all iterations)
* command lines nodes can use this complete block size to compute the iteration number on software side; delegate range cropping for last iteration to software.
* 'effectiveBlockSize' is still accessible through 'rangeEffectiveBlockSize' parameter
2019-04-26 10:49:47 +02:00
cclauss
d0c5a5ffb5
Avoid issue with use ==/!= to compare str, bytes, and int literals
[flake8](http://flake8.pycqa.org) testing of https://github.com/alicevision/meshroom on Python 3.7.1

$ __flake8 . --count --select=E9,F63,F72,F82 --show-source --statistics__
```
./meshroom/core/node.py:461:34: F632 use ==/!= to compare str, bytes, and int literals
            if v is not None and v is not '':
                                 ^
./meshroom/core/node.py:480:34: F632 use ==/!= to compare str, bytes, and int literals
            if v is not None and v is not '':
                                 ^
2     F632 use ==/!= to compare str, bytes, and int literals
2
```
2019-04-18 10:30:57 +02:00
Fabien Castan
c88c78b476
[cxFreeze] add comment 2019-04-11 11:40:08 +02:00
Fabien Castan
1c98e2afde [cxFreeze] add import of encodings to embed them in packaging 2019-04-08 10:17:13 +02:00
Yann Lanthony
0ab7d45607
[desc] allow List/GroupAttribute to be marked as advanced parameters 2019-03-26 12:09:16 +01:00
Yann Lanthony
1a22fc8ae8 [core] add GroupAttribute.childAttribute method
* easier access to child attributes
* callable from QML
2019-03-01 17:22:57 +01:00
Yann Lanthony
2a0b695ea7 [core] more thorough compatibility issues detection
* add 'matchDescription' method on desc.Attribute.
* desc.ListAttribute/desc.GroupAttribute: 'matchDescription' ensure that value perfectly match element/group description. Enable recursive checking for child attributes.
* nodeFactory: detect DescriptionConflicts in pre-process pass by checking that serialized node's attributes perfectly match their descriptions
* CompatibilityNode.attributeDescFromNameAttribute: consider link expressions as valid values
* test_compatibility: more complete description conflicts unit testing
2019-02-01 16:03:21 +01:00
Yann Lanthony
905ed48cf9 [core] fix flake8 error
remove type annotations
2019-01-30 09:36:02 +01:00
Yann Lanthony
026cd36ff4 [core.graph] update graph after load
Ensure graph internal data is updated after loading.
2019-01-29 16:04:39 +01:00
Yann Lanthony
34ca607261 [ui] GraphEditor : add "Clear Pending Status" tool at Graph level
* allow to clear status of all submitted nodes in the graph
* unify wording
2019-01-07 10:47:25 +01:00
Yann Lanthony
b09068dc68 [ui] Node: add "Clear Data From Here" menu entry + confirmation dialog 2019-01-07 10:47:25 +01:00
Yann Lanthony
6ac4a9d712 [desc][qt] use QVariantList for list-type properties
* required for PySide2 > 5.11.1 (and compatible with 5.11.1)
* AttributeItemDelegate: test for list length to determine whether to create a slider component (if range is set to None on Python side, it will be an empty list on the QML/JS side)
2019-01-04 17:30:38 +01:00
Yann Lanthony
8ada834447 [core] Attribute: new 'advanced' notion on parameters 2018-12-20 11:17:23 +01:00
Yann Lanthony
bc9abe3b07 Merge remote-tracking branch 'origin/develop' into dev_viewer3D_multi 2018-12-10 15:26:19 +01:00
Grégoire De Lillo
312e21c03a [core] BoolParam add int cast to handle string values ('0', '1') 2018-12-07 11:25:25 +01:00
Yann Lanthony
e80bdd1161 [core] Node: introduce 'globalStatus'
* add Node.globalStatus property: indicates the status of a Node based on the  status of its own NodeChunks
* remove obsolete 'statusNames' and 'getStatus' methods
2018-11-19 15:17:36 +01:00
Yann Lanthony
d2aba176dc [core] Node: add 'label' property
high-level label for nodes, without '_' and including index if > 1
2018-11-19 15:17:36 +01:00
Yann Lanthony
3dad1e3aac [core] Attribute: expose 'node' and 'linkParam' as properties 2018-11-19 15:17:36 +01:00
Yann Lanthony
400835d8f8 [core] Attribute: expose 'fullName' as property 2018-11-19 15:17:36 +01:00
cclauss
ca658ed745
Use feature detection instead of version detection
Python porting best practice is to Use feature detection instead of version detection
* https://docs.python.org/3/howto/pyporting.html#use-feature-detection-instead-of-version-detection
2018-08-11 08:29:44 +02:00
Yann Lanthony
fa631d8e7a [core] core: use pyCompatibility basestring instead of str 2018-07-28 13:09:16 +02:00
Yann Lanthony
41ea5a5423 [core][graph] store duplication result in an OrderedDict
allows to keep the order in which duplicated nodes were created
2018-07-27 19:05:25 +02:00
Yann Lanthony
830173047c [ui][commands] Duplicate/UpgradeNode: return created Node instances 2018-07-26 22:43:48 +02:00
Yann Lanthony
62dbf7df95 [core][io] return file features as tuple 2018-07-26 18:01:11 +02:00
Yann Lanthony
e2155ba962 [core][io] store nodes position in graph file
* increment file minor version (no incompatibility)
* nodeFactory: reload file position if available
2018-07-26 18:01:11 +02:00
Yann Lanthony
dfb0934ef4 [core] add node position property
Nodes can now be placed at a certain position
* add Position namedtuple
* expose 'position', 'x' and 'y' properties on BaseNode
2018-07-26 18:01:10 +02:00
Yann Lanthony
5843c36435 [core][io] add io version 'Features' mechanism
* centralize available features based on file version in 'IO' class
* add IO.Features enum
2018-07-26 18:01:10 +02:00
Yann Lanthony
ec08de812e [core][io] move file keys to an inner 'Keys' class 2018-07-26 17:45:03 +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
e0ad807d84 [core] add Version class to help manipulate version names 2018-07-25 11:22:31 +02:00