Commit graph

3280 commits

Author SHA1 Message Date
mugulmd
76f4fc82f9 [ui] float image viewer: specify when to use sequence or single image 2023-07-12 09:13:51 +02:00
Loïc Vital
4c58d4b93f [ui] new concept of pickedViewId to scroll in 2D viewer without constantly updating selectedViewId 2023-07-12 09:13:51 +02:00
Loïc Vital
f1de96127d [ui] SequencePlayer: draw cached frame regions instead of single frames 2023-07-12 09:13:50 +02:00
Loïc Vital
8a3daed543 [ui] sequence player: draw cached frames indicator 2023-07-12 09:13:50 +02:00
Loïc Vital
c22c5e918f [ui] sequence player: documentation 2023-07-12 09:13:50 +02:00
Loïc Vital
f84f114115 [ui] sequence player: improve separation of concerns 2023-07-12 09:13:49 +02:00
Loïc Vital
9295d22246 [ui] sequence player: repeat button 2023-07-12 09:13:49 +02:00
Loïc Vital
3da3c89c56 [ui] sequence player: frame label 2023-07-12 09:13:49 +02:00
Loïc Vital
b209799f1c [ui] sequence player: FPS spinbox 2023-07-12 09:13:48 +02:00
Loïc Vital
6efaa8e05e [ui] sequence player: previous-next frame buttons 2023-07-12 09:13:48 +02:00
Loïc Vital
47d3089e5b [ui] sequence player: play-pause sequence using a timer 2023-07-12 09:13:47 +02:00
Loïc Vital
45a95b5114 [ui] sequence player: adjust size to fill 2D viewer 2023-07-12 09:13:47 +02:00
mugulmd
d9264473e4 [ui] basic sequence player: control selected viewId with a slider 2023-07-12 09:13:47 +02:00
Loïc Vital
6c135e14b9 [ui] FloatImage: keep image visible when loading next one 2023-07-12 09:13:46 +02:00
Loïc Vital
f70fa1f42a
Merge pull request #2107 from alicevision/dev/warningFixes
QML: Fix minor coercion error and warning
2023-07-12 09:11:57 +02:00
Candice Bentéjac
d4e95eddcb [Utils] Do not perform type coercion in SortFilterDelegateModel
`value` otherwise never is equal to `modelData()`.
2023-07-11 16:31:41 +02:00
Candice Bentéjac
9efa950fce [Viewer] Replace deprecated slot with new QML function syntax 2023-07-11 16:31:41 +02:00
Loïc Vital
5a1d94ff5a
Merge pull request #2090 from alicevision/build/semanticSegmentationModel
Set `ALICEVISION_SEMANTIC_SEGMENTATION_MODEL` variable during the initialisation
2023-07-11 16:23:48 +02:00
Candice Bentéjac
4f6cd11d67
Merge pull request #2109 from alicevision/mug/segmentationClassesChoice
[nodes] ImageSegmentation: use ChoiceParam instead of ListAttribute for validClasses
2023-07-11 16:04:19 +02:00
Loïc Vital
1bb57f3ab7 [nodes] ImageSegmentation: use ChoiceParam instead of ListAttribute for validClasses 2023-07-11 14:07:10 +02:00
Loïc Vital
9d09e851b2
Merge pull request #2104 from alicevision/dev/multipleIntrinsicsHdr
[nodes] HDR Fusion: Correctly detect the number of brackets when there are several intrinsics
2023-07-10 11:55:12 +02:00
Loïc Vital
8be79890c5
Merge pull request #2106 from alicevision/dev/publishPanoramaPreview
[pipelines] Panorama: Publish the panorama preview
2023-07-10 11:22:11 +02:00
Candice Bentéjac
c311233908 [pipelines] Panorama: Publish the panorama preview 2023-07-10 10:18:15 +02:00
Candice Bentéjac
004b2a6f85 [nodes] HDR Fusion: Correctly detect number of brackets
The detection of the number of brackets used to only work in a case where
there was a single dataset / a single camera intrinsics. If two datasets
with the same number of brackets were provided, the detection was failing
because we expected the exposure levels to be uniform across all the
images.

If more than one dataset is provided, there is no guarantee that the
exposure groups will be identical although the number of brackets is the
same.

The inputs are however sorted, and the shutter speeds are expected to be
decreasing, meaning that a shutter speed N superior to a shutter speed N-1
indicates a new group. In the same manner, ISO or aperture values that
change from one input to the next one indicate a new group.

For the comparison between exposure levels to be valid, the aperture,
shutter speed and ISO values need to be stored in tuples as floats instead
of strings.
2023-07-07 18:07:45 +02:00
Loïc Vital
0cf6984bce
Merge pull request #1882 from alicevision/dev/qt5.15-migration
Update Qt version to 5.15.2
2023-07-07 17:43:03 +02:00
Candice Bentéjac
1ac35c7a97 [doc] Qt5.15: INSTALL.md: Add download links for missing Assimp plugin
Add direct download links for `assimpsceneimport.dll` and
`libassimpsceneimport.so` and indications as to where to copy them to
avoid errors related to a missing AssimpSceneParser plugin.
2023-07-07 17:34:49 +02:00
Candice Bentéjac
b07751d4bd [docker] Copy missing libassimpsceneimport.so
`libassimpsceneimport.so` is missing from Qt 5.15.2 and must therefore
be added manually. Without it, there will be no OBJ files support in the
3D Viewer.
2023-07-05 13:48:56 +02:00
Candice Bentéjac
313c7cd566 [docker] Fix headless Qt installation 2023-07-05 13:43:05 +02:00
Loïc Vital
96ae35b688
Merge pull request #2072 from alicevision/dev/hdrMergingNoiseReduction
Advanced pixelwise merging
2023-07-05 12:15:21 +02:00
Candice Bentéjac
1993fc49c8
Merge pull request #2094 from alicevision/dev/bracketsForGroupAttribute
[core] Add brackets option for GroupAttribute
2023-07-04 17:31:52 +02:00
Candice Bentéjac
318a0b54ed
Merge pull request #2093 from alicevision/dev/executeCmdInNodeFolder
[core] Execute command line from node folder
2023-07-04 16:51:29 +02:00
Candice Bentéjac
59a092f53a [Viewer] Check that the featureViewer exists before accessing it 2023-07-04 12:10:28 +02:00
Candice Bentéjac
30cd13c7b3 [qml] Qt5.15: Disable the alternative palette to support disabled elements
Supporting the alternative palette (triggered with Ctrl+Shift+P) requires
a manual conversion from the QPalette to the QML palette, which does not
directly support disabled elements.

Keeping the previous palette management will support disabled elements,
but cause issues when switching to the alternative palette. Until both
can be fully supported, the alternative palette is disabled.
2023-07-04 12:10:28 +02:00
Candice Bentéjac
8db25a6f89 [docker] Remove non-interactive Qt installer script
Qt installation within the dockers is directly handled with command-line
parameters of the installer itself.
2023-07-04 12:10:27 +02:00
Candice Bentéjac
8fa48e8444 [docker] Qt5.15: Update Ubuntu docker 2023-07-04 12:10:26 +02:00
Candice Bentéjac
15d072798c [docker] Qt5.15: Update CentOS docker 2023-07-04 12:10:18 +02:00
Candice Bentéjac
caa5a1e3eb [qml] Qt5.15: Une new syntax for all the "onLinkActivated" slots 2023-07-04 12:04:17 +02:00
Candice Bentéjac
9e31981f03 [ui] Qt5.15: Update palette management
Manually convert the QPalette object to a QML Palette manually. The
conversion is not straight forward anymore, and not performing it
leads to an incomplete alternate (light) palette.

QML Palette in Qt 5.15 does not support yet disabled elements, the
support will only be enabled with Qt 6.
2023-07-04 12:04:16 +02:00
Candice Bentéjac
ad7e82ee86 [qml] Qt5.15: Fix binding loop on TextArea's implicit width 2023-07-04 12:04:16 +02:00
Candice Bentéjac
4df32fa533 Qt5.15: Update documentation with the Qt version upgrade 2023-07-04 12:04:15 +02:00
Candice Bentéjac
6fdbf66607 [GraphEditor] AttributeEditor: fix dynamic setting of attributes' height
By setting the height on the "onLoaded" event, no height update was
possible unless the component was unloaded (which happens when "active"
gets set to false) first and then reloaded (which happens when "active"
gets set to true). If an attribute was to be hidden (by unchecking the
"advanced attributes" checkbox, for example), its content was effectively
hidden, but as its height was not being updated, a blank block remained
in its place.

Similarly, for attributes that are filled with a lot of content after
being initialized (ChoiceParams, for example), the height was set once
at the attribute's initialization but never updated afterwards.
2023-07-04 12:04:15 +02:00
Candice Bentéjac
091346cbb8 [qml] Optimize QML files and fix syntax warnings
This commit addresses warnings that were raised by QtCreator's linter:
- IDs declared more than once
- variables declared more than once in the same scope
- type coercions
- variables declared as "var" when their type is known
- unclosed "case" in switch-case
2023-07-04 12:04:14 +02:00
Candice Bentéjac
8c2a7bba0f Qt5.15: Force QML_XHR_ALLOW_FILE_READ environment variable to 1
Setting this variable allows to keep on using "GET" on local files
with XMLHttpRequest.
2023-07-04 11:59:36 +02:00
Candice Bentéjac
db7fdefacb [ImageGallery] Check the intrinsics model is not null before using it 2023-07-04 11:59:35 +02:00
Candice Bentéjac
422d9da48c [Viewer] Prevent accessing null objects 2023-07-04 11:59:35 +02:00
Candice Bentéjac
a69104e2dd
Merge pull request #2079 from alicevision/mug/pixelRatio
Support pixel aspect ratio (no UI)
2023-07-03 18:13:50 +02:00
Loïc Vital
a479af225f
Merge pull request #2095 from alicevision/fix/saveMeshroomBatchGraph
[bin] meshroom_batch: Save the graph once it has been all set up and resolved
2023-07-03 06:04:59 -07:00
Candice Bentéjac
4eac23a52d [GraphEditor] Prevent accessing null objects 2023-07-03 12:11:36 +02:00
Candice Bentéjac
7888ab7195 [GraphEditor] Qt5.15: fix binding loop warning on "height" attribute 2023-07-03 12:11:35 +02:00
Candice Bentéjac
8c494198e0 [qml] Qt5.15: Update syntax for slots
Slots now need to be written as function; the previous syntax is
deprecated.
2023-07-03 12:11:33 +02:00