Commit graph

35 commits

Author SHA1 Message Date
Candice Bentéjac
fdd9d088c5 [nodes] HDR Fusion: Flag userNbBrackets as invalid if it isn't a multiple of the number of inputs
Add an error message for `userNbBrackets` and set `validValue` to false
if the set number of brackets is not a multiple of the number of input
images.
2023-08-21 16:30:12 +02:00
Candice Bentéjac
ea8d619fb1 [nodes] HDR Fusion: Align bracket detection with AliceVision's
The bracket detection performed in Meshroom used to differ from the one
performed in AliceVision.

The metadata that were retrieved to perform the exposure comparisons were
not the same, and where AliceVision was actually computing an exposure
value, Meshroom was just performing a comparison between the shutter
speed, fnumber and ISO values, which resulted in less accurate groups.

The `getExposure` static method that is added to the `LdrToHdrSampling`,
`LdrToHdrCalibration` and `LdrToHdrMerge` node is the pythonic version
of the `getExposure` method from the View class in AliceVision.
2023-08-16 16:57:23 +02:00
Candice Bentéjac
162e5c99eb [nodes] HDR Fusion: Fix bracket detection
Prior to this commit, only the shutter speed was compared between two
images to determine whether they belonged to the same group. The fnumber
and ISO were assumed to be fixed within a group, which is not always true,
and differs from what is done on the AliceVision's side.

This commit aligns Meshroom's bracket detection with AliceVision's.
2023-08-04 12:08:38 +02:00
Candice Bentéjac
00e29b06a3 [nodes] HDR Fusion: Select group with largest bracket number in case of equality
If there are several groups with different bracket numbers but identical
counts (e.g. 3 groups with 7 brackets, and 3 groups with 3 brackets),
select the groups with the largest bracket number (e.g. groups with 7
brackets instead of 3).
2023-07-20 11:44:57 +02:00
Candice Bentéjac
e76dbd2a4f [nodes] LdrToHdrSampling: Exclude outliers from size computation
Outliers are now supported for the HDR fusion nodes and are excluded
from the computations as soon as they have been detected. However,
the chunks' size computation still includes them, as it simply uses the
number of detected brackets and the total number of input images.

With this commit, the detected outliers are excluded from the chunks' size
computation, thus preventing any error that might occur because there
are too many chunks compared to the number of images that actually need
to be processed.
2023-07-19 16:59:08 +02:00
Fabien SERVANT
4650e838e9 remove limits on brackets detection 2023-07-19 10:09:42 +02:00
Candice Bentéjac
6fe82a3000 [nodes] HDR Fusion: Don't send nbBrackets param for automatic detections
Reset the command line at every iteration to ensure that there is no
"--nbBrackets" leftovers when we are switching between the automatic
bracket detection and the manually specified brackets number.
2023-07-18 17:53:06 +02:00
Candice Bentéjac
9c35919c35 [nodes] HDR Fusion: Detect new exposure groups when inputs' paths change
In addition to comparing the exposure levels of the sorted input images
to determine whether a new exposure group must be created, this commit
adds a detection based on the path of the image: if the directory
containing the current image is not the same as the one of the previous
image, then we assume the dataset is different, and there is no point
in comparing the current image's exposure level with the previous one's.

Instead, we directly create a new exposure group.

In cases where images from different datasets have very similar
exposure levels, this prevents having outliers identified as being part
of the current exposure group.
2023-07-17 16:45:21 +02:00
Fabien SERVANT
6a0583d8e5 tolerant bracket size selection 2023-07-13 15:04:56 +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
Candice Bentéjac
3146dcface [nodes] I-L: Harmonize and improve labels and descriptions
Use CamelCase for all labels, always end descriptions with periods, and
replace the mixed use of single and double quotes with double quotes
only.
2023-06-16 10:31:18 +02:00
Loïc Vital
db978d4dc3 [nodes] Split360Images: custom dynamic node size for chunkable output 2023-06-03 18:26:32 +02:00
demoulinv
ebbfa0ae92 [panorama post processing & HDR fusion node]
Add output color space option
Add no_conversion option value in HDR fusion for working color space.
2023-03-06 09:34:45 +01:00
Candice Bentéjac
da6bbefc45 [nodes] Panorama: Fix the documentation string display 2023-03-03 15:08:12 +01:00
Candice Bentéjac
0f220067f3 [nodes] LdrToHdr: Remore references to Robertson calibration method
"Robertson" is not an available calibration method in the
LdrToHdrCalibration and LdrToHdrSampling, so it should be removed from the
nodes' documentation.
2023-03-03 11:44:02 +01:00
demoulinv
4a8232f23e [HDR sampling and calib nodes]
Add calibrationMethod as parameter at sampling.
Link calibrationMethod parameter of calib node to sampling node's calibrationMethod parameter in both HDR pipelines.
2023-02-09 10:13:45 +01:00
demoulinv
95bad98443 [HDR Nodes and Panorama Pipelines]
Add working color space as input parameter in Sampling, Calibration and Merging HDR nodes. (unused in calibration, but useful to transfer from sampling to merging in pipelines)
Update rawColorInterpretation default value and add some comments in cameraInit.
2023-01-06 18:02:13 +01:00
fabien servant
ae0ca71c1c [nodes] replace CommandLineNode with AVCommandLineNode for alicevision nodes 2022-12-06 15:07:01 +01:00
Loïc Vital
a5fbbe7d82 [node] output labels renaming without 'Output' prefix 2022-10-19 09:50:21 +01:00
ChemicalXandco
e18f815af9 [nodes] add node categories 2021-02-14 17:03:42 +00:00
Simon
556fb1de5e
Update LdrToHdrSampling.py 2020-12-20 21:57:21 +01:00
Fabien Castan
ef99a2916d [nodes] ldrToHdr: nbBrackets should invalidate UID
instead of "userNbBrackets" (which is only an intermediate parameter used to compute "nbBrackets")
2020-09-30 15:24:05 +02:00
Fabien Castan
fdcbd38745 [nodes] LdrToHdr: fix error when no CameraInit connected 2020-08-12 13:42:35 +02:00
Fabien Castan
cb17b1c976 [nodes] LdrToHdr nodes: update nb brackets detection for single view/multiple exposures 2020-08-03 10:43:20 +02:00
Julien-Haudegond
f1af558603 [nodes] update LdrToHdr nodes with enabled parameter 2020-07-29 16:04:41 +02:00
Fabien Castan
f7b6b27a5a
Merge pull request #990 from alicevision/dev/ldrToHdrSamplingDebug
[nodes] LdrToHdrSampling: add debug option
2020-07-21 12:09:00 +02:00
Fabien Castan
9adb99a768 [nodes] LdrToHdrSampling: add debug option 2020-07-18 13:08:21 +02:00
Fabien Castan
7ff3bca130 python-3 compatibility 2020-07-17 20:48:47 +02:00
Fabien Castan
91f53341bc warning fixes 2020-07-16 11:04:43 +02:00
Fabien Castan
c8526d4d6b fix warnings: unused import 2020-07-16 10:49:49 +02:00
Fabien Castan
2ec218c086 [nodes] LdrToHdrSampling: expose new advanced params 2020-07-06 11:43:28 +02:00
Fabien Castan
396c285c76 [multiview] HDRI: add PanoramaPrepareImages in default HDRI pipeline
- update access to CameraInit from LdrToHdr nodes
- update PanoramaPrepareImages param names
2020-07-06 00:39:32 +02:00
Fabien Castan
dc6ac5d67a [nodes] add parallelization to LdrToHdrSampling/Merge and PanoramaWarping 2020-07-05 23:11:07 +02:00
Fabien Castan
1b52bd5cbc [nodes] ldrToHdr: automatic brackets estimation (temporary solution) 2020-07-02 18:16:09 +02:00
fabien servant
5c43f77d20 [nodes] Update hdr pipeline with sampling, calibration and merge 2020-07-02 11:59:05 +02:00