Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[panorama] PanoramaCompositing: new out-of-core algorithm #947

Merged
merged 82 commits into from
Feb 12, 2021
Merged
Show file tree
Hide file tree
Changes from 68 commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
566f7f8
extract modules from warping
servantftechnicolor Sep 30, 2020
3fb2acb
Tiled warping
servantftechnicolor Sep 30, 2020
bc1672c
extract everything from compositing and put in modules
servantftechnicolor Oct 1, 2020
0438480
compositing for large images
servantftechnicolor Oct 2, 2020
78aa055
WIP on laplacian compositing for large images
servantftechnicolor Oct 3, 2020
2557ba0
[panorama] accelerate warping
servantftechnicolor Oct 5, 2020
b62357e
[panorama] wip compositing
servantftechnicolor Oct 6, 2020
3f6cba4
[panorama] wip compositing
servantftechnicolor Oct 6, 2020
7699a19
[panorama] wip
servantftechnicolor Oct 7, 2020
27084aa
[panorama] working large scale compositing
servantftechnicolor Oct 7, 2020
fb48f63
[panorama] wip large graphcut
servantftechnicolor Oct 9, 2020
4f81779
[panorama] graphcut wip
servantftechnicolor Oct 12, 2020
6186a20
[panorama] first version of large graphcut
servantftechnicolor Oct 15, 2020
bf4e1c7
[panorama] some small changes
servantftechnicolor Oct 16, 2020
c2e27dd
[panorama] adding new bugs correction
servantftechnicolor Oct 16, 2020
490865f
[panorama] graphcut improvement
servantftechnicolor Oct 16, 2020
b9f66cb
[panorama] correct loop
servantftechnicolor Oct 17, 2020
2e95d51
[panorama] graphcut correction
servantftechnicolor Oct 19, 2020
ac20d6e
[panorama] graphcut debug
servantftechnicolor Oct 19, 2020
df5c5a5
[panorama] make things work for odd sizes
servantftechnicolor Oct 20, 2020
39f9500
[panorama] wip no pot
servantftechnicolor Oct 21, 2020
d40a88c
[panorama] working non pot
servantftechnicolor Oct 22, 2020
007bd21
[panorama] add options for compositing
servantftechnicolor Oct 22, 2020
690af8c
[panorama] removing non portable stuff
servantftechnicolor Oct 22, 2020
e581d5d
[panorama] use 16 bits float option
servantftechnicolor Oct 22, 2020
7efe93b
[panorama] some updates on bounding boxes
servantftechnicolor Oct 23, 2020
8ca2ca1
[panorama] cleanup stuff
servantftechnicolor Oct 23, 2020
01b1c7e
[panorama] Some minor changes
servantftechnicolor Nov 2, 2020
915930f
[panorama] add maxPanoramaWidth
Nov 5, 2020
138500c
[panorama] forgot a debug comment in sfm
servantftechnicolor Nov 6, 2020
024f883
[panorama] cache path
servantftechnicolor Nov 6, 2020
2aba949
[panorama] change upscale
servantftechnicolor Nov 13, 2020
a7843ff
[panorama] pyramid management for graphcut
servantftechnicolor Nov 18, 2020
6caf5b4
[panorama] Update graphcut maximal size
servantftechnicolor Nov 18, 2020
30040cc
[panorama] add a cap for pyramid
servantftechnicolor Nov 18, 2020
0230ab0
[panorama] update call to constructor
servantftechnicolor Nov 18, 2020
fb2a8c5
[panorama] check with a new heuristic for graphcut
servantftechnicolor Nov 19, 2020
211c1e8
[panorama] change some constants
servantftechnicolor Nov 20, 2020
034f285
Merge branch 'develop' of github.com:alicevision/AliceVision into dev…
fabiencastan Dec 8, 2020
93cd1a6
[system] new availableRam information
fabiencastan Dec 8, 2020
15efca8
[software] new utility hardwareResources
fabiencastan Dec 8, 2020
5d07634
[software] PanoramaCompositing: set max memory available to cache
fabiencastan Dec 8, 2020
7952e16
[software] texturing: use availableRam (instead of freeRam)
fabiencastan Dec 8, 2020
960aca1
[software] featureExtraction: use availableRam (instead of freeRam)
fabiencastan Dec 8, 2020
e61de70
remove some useless computations and memory access
servantftechnicolor Dec 11, 2020
2dfce7c
[panorama] try new method for large panoramas
servantftechnicolor Dec 14, 2020
f7d08c1
[panorama] parallelize compositing
servantftechnicolor Dec 14, 2020
b881b25
[panorama] remove some bugs for large warping
servantftechnicolor Dec 15, 2020
d88f7eb
[panorama] fix some special case
servantftechnicolor Dec 15, 2020
d7544bf
[panorama] make sure only the valid part of an input is processed
servantftechnicolor Dec 17, 2020
708874a
[panorama] minor formatting
fabiencastan Dec 9, 2020
2d809d2
[panorama] memory leak
servantftechnicolor Dec 17, 2020
e109230
Merge branch 'dev/largeWarping' of github.com:alicevision/AliceVision…
servantftechnicolor Dec 17, 2020
f8ded94
[panorama] optimize chunks distribution
servantftechnicolor Dec 17, 2020
0666c91
[panorama] add merging node for panorama final creation
servantftechnicolor Dec 18, 2020
716a4ee
[panorama] some memory optimizations
servantftechnicolor Dec 18, 2020
5c54183
[panorama] enable multithreading for compositing
servantftechnicolor Dec 18, 2020
d70db9a
[image] write IndexT images without intermediate float
servantftechnicolor Jan 11, 2021
3377211
[panorama] code convention
servantftechnicolor Jan 11, 2021
613671c
[sfmdata] correction in equation in comments
servantftechnicolor Jan 11, 2021
c6c3b85
[panorama] module for panorama seams estimation
servantftechnicolor Jan 11, 2021
82807c9
[panorama] bounding box multiply and divide correctly using scale ins…
servantftechnicolor Jan 11, 2021
3a90af5
[panorama] compositer have output roi
servantftechnicolor Jan 11, 2021
33be69a
[panorama] new way of handling large images
servantftechnicolor Jan 11, 2021
7272487
[image] removed erroneously compression for exr
servantftechnicolor Jan 11, 2021
ef2b91a
[image] add image io without float conversion
servantftechnicolor Jan 12, 2021
9d359ef
[sfmData] add comments
servantftechnicolor Jan 12, 2021
4c26733
[image] make sure we can read 3 channels unisgned char images
servantftechnicolor Jan 12, 2021
b5ff757
[panorama] add debug features
servantftechnicolor Jan 19, 2021
627f67b
[panorama] add other debug
servantftechnicolor Jan 19, 2021
d3cbb58
[panorama] memory optimization
servantftechnicolor Jan 20, 2021
eb24b30
[panorama] some dirty hacks to reduce ram
servantftechnicolor Jan 20, 2021
d53f81a
[panorama] enable multi threading in compositing
servantftechnicolor Jan 20, 2021
5601333
[panorama] prepare stuff for custom bouding box compositing
servantftechnicolor Jan 20, 2021
57cda7a
Merge remote-tracking branch 'origin/develop' into dev/largeWarping
fabiencastan Jan 25, 2021
45d990d
[software] PanoramaCompositing: use omp_get_max_threads instead of om…
fabiencastan Jan 26, 2021
6204b19
[software] ImageProcessing!: remove useless code
fabiencastan Jan 26, 2021
f308b23
[software] PanoramaSeams: new max resolution option
fabiencastan Jan 26, 2021
b1a9a9b
[image] linux build fixes
fabiencastan Jan 26, 2021
d08ac36
[software] PanoramaCompositing: fixes for non-reconstructed views
fabiencastan Jan 27, 2021
e572602
[software] LdrToHdr: disable highlight by default
fabiencastan Jan 27, 2021
0d7062b
[panorama] error in graphcut distance acceleration criteria
servantftechnicolor Feb 1, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/aliceVision/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ add_subdirectory(numeric)
add_subdirectory(system)
add_subdirectory(stl)
add_subdirectory(utils)
add_subdirectory(panorama)

# SfM modules

Expand Down Expand Up @@ -37,7 +38,7 @@ if(ALICEVISION_BUILD_SFM)
endif()

if(ALICEVISION_BUILD_HDR)
add_subdirectory(hdr)
add_subdirectory(hdr)
endif()

# MVS modules
Expand Down
2 changes: 2 additions & 0 deletions src/aliceVision/image/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@ set(image_files_headers
warping.hpp
pixelTypes.hpp
Sampler.hpp
cache.hpp
)

# Sources
set(image_files_sources
convolution.cpp
filtering.cpp
io.cpp
cache.cpp
)

alicevision_add_library(aliceVision_image
Expand Down
10 changes: 10 additions & 0 deletions src/aliceVision/image/Image.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,17 @@ namespace aliceVision
*/
template< typename T1>
friend Image<T1> operator-( const Image<T1> & imgA , const Image<T1> & imgB ) ;

template <class UnaryFunction>
bool perPixelOperation(UnaryFunction f)
{
for(auto row : this->rowwise())
{
std::transform(row.begin(), row.end(), row.begin(), f);
}

return true;
}

protected :
//-- Image data are stored by inheritance of a matrix
Expand Down
Loading