Skip to content

Commit b56dc0e

Browse files
sadhana-rebrahimebrahim
authored andcommitted
Update photoscan reconstruction pipeline for Meshroom 2025 compatability (#427)
1 parent 9f17b94 commit b56dc0e

6 files changed

Lines changed: 249 additions & 429 deletions

File tree

src/openlifu/nav/meshroom_pipelines/default_pipeline.mg

Lines changed: 48 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,133 +1,98 @@
11
{
22
"header": {
3-
"pipelineVersion": "2.2",
4-
"releaseVersion": "2023.3.0",
5-
"fileVersion": "1.1",
6-
"template": true,
3+
"releaseVersion": "2025.1.0",
4+
"fileVersion": "2.0",
75
"nodesVersions": {
8-
"MeshFiltering": "3.0",
6+
"CameraInit": "12.0",
7+
"DepthMap": "5.0",
98
"DepthMapFilter": "4.0",
10-
"MeshDecimate": "1.0",
11-
"Meshing": "7.0",
129
"FeatureExtraction": "1.3",
13-
"CameraInit": "9.0",
14-
"Texturing": "6.0",
15-
"ImageMatching": "2.0",
16-
"Publish": "1.3",
17-
"DepthMap": "5.0",
1810
"FeatureMatching": "2.0",
11+
"MeshFiltering": "3.0",
12+
"Meshing": "7.0",
1913
"PrepareDenseScene": "3.1",
20-
"StructureFromMotion": "3.3"
14+
"Publish": "1.3",
15+
"StructureFromMotion": "3.3",
16+
"Texturing": "6.0"
2117
}
2218
},
2319
"graph": {
24-
"Meshing_1": {
25-
"nodeType": "Meshing",
26-
"position": [
27-
1600,
28-
0
29-
],
30-
"inputs": {
31-
"input": "{DepthMapFilter_1.input}",
32-
"depthMapsFolder": "{DepthMapFilter_1.output}"
33-
}
34-
},
35-
"DepthMapFilter_1": {
36-
"nodeType": "DepthMapFilter",
37-
"position": [
38-
1400,
39-
0
40-
],
41-
"inputs": {
42-
"input": "{DepthMap_1.input}",
43-
"depthMapsFolder": "{DepthMap_1.output}"
44-
}
20+
"CameraInit_1": {
21+
"nodeType": "CameraInit",
22+
"position": [0, 0],
23+
"inputs": {}
4524
},
4625
"FeatureExtraction_1": {
4726
"nodeType": "FeatureExtraction",
48-
"position": [
49-
200,
50-
0
51-
],
27+
"position": [200, 0],
5228
"inputs": {
5329
"input": "{CameraInit_1.output}",
30+
"describerTypes": ["dspsift"],
5431
"forceCpuExtraction": false
5532
}
5633
},
34+
"FeatureMatching_1": {
35+
"nodeType": "FeatureMatching",
36+
"position": [400, 0],
37+
"inputs": {
38+
"input": "{FeatureExtraction_1.input}",
39+
"featuresFolders": ["{FeatureExtraction_1.output}"],
40+
"imagePairsList": "",
41+
"describerTypes": "{FeatureExtraction_1.describerTypes}"
42+
}
43+
},
5744
"StructureFromMotion_1": {
5845
"nodeType": "StructureFromMotion",
59-
"position": [
60-
800,
61-
0
62-
],
46+
"position": [600, 0],
6347
"inputs": {
6448
"input": "{FeatureMatching_1.input}",
6549
"featuresFolders": "{FeatureMatching_1.featuresFolders}",
66-
"matchesFolders": [
67-
"{FeatureMatching_1.output}"
68-
],
50+
"matchesFolders": ["{FeatureMatching_1.output}"],
6951
"describerTypes": "{FeatureMatching_1.describerTypes}"
7052
}
7153
},
7254
"PrepareDenseScene_1": {
7355
"nodeType": "PrepareDenseScene",
74-
"position": [
75-
1000,
76-
0
77-
],
56+
"position": [800, 0],
7857
"inputs": {
7958
"input": "{StructureFromMotion_1.output}"
8059
}
8160
},
82-
"CameraInit_1": {
83-
"nodeType": "CameraInit",
84-
"position": [
85-
0,
86-
0
87-
],
88-
"inputs": {}
89-
},
9061
"DepthMap_1": {
9162
"nodeType": "DepthMap",
92-
"position": [
93-
1200,
94-
0
95-
],
63+
"position": [1000, 0],
9664
"inputs": {
9765
"input": "{PrepareDenseScene_1.input}",
9866
"imagesFolder": "{PrepareDenseScene_1.output}",
9967
"downscale": 2
10068
}
10169
},
102-
"MeshFiltering_1": {
103-
"nodeType": "MeshFiltering",
104-
"position": [
105-
1800,
106-
0
107-
],
70+
"DepthMapFilter_1": {
71+
"nodeType": "DepthMapFilter",
72+
"position": [1200, 0],
10873
"inputs": {
109-
"inputMesh": "{Meshing_1.outputMesh}"
74+
"input": "{DepthMap_1.input}",
75+
"depthMapsFolder": "{DepthMap_1.output}"
11076
}
11177
},
112-
"FeatureMatching_1": {
113-
"nodeType": "FeatureMatching",
114-
"position": [
115-
600,
116-
0
117-
],
78+
"Meshing_1": {
79+
"nodeType": "Meshing",
80+
"position": [1400, 0],
11881
"inputs": {
119-
"input": "{FeatureExtraction_1.input}",
120-
"featuresFolders": "{FeatureExtraction_1.output}",
121-
"imagePairsList": "{}",
122-
"describerTypes": "{FeatureExtraction_1.describerTypes}"
82+
"input": "{DepthMapFilter_1.input}",
83+
"depthMapsFolder": "{DepthMapFilter_1.output}"
84+
}
85+
},
86+
"MeshFiltering_1": {
87+
"nodeType": "MeshFiltering",
88+
"position": [1600, 0],
89+
"inputs": {
90+
"inputMesh": "{Meshing_1.outputMesh}"
12391
}
12492
},
12593
"Texturing_1": {
12694
"nodeType": "Texturing",
127-
"position": [
128-
2178,
129-
24
130-
],
95+
"position": [1800, 0],
13196
"inputs": {
13297
"input": "{Meshing_1.output}",
13398
"imagesFolder": "{DepthMap_1.imagesFolder}",
@@ -140,10 +105,7 @@
140105
},
141106
"Publish_1": {
142107
"nodeType": "Publish",
143-
"position": [
144-
2272,
145-
290
146-
],
108+
"position": [2000, 0],
147109
"inputs": {
148110
"inputFiles": [
149111
"{Texturing_1.output}",

src/openlifu/nav/meshroom_pipelines/downsample_1x_pipeline.mg

Lines changed: 48 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,133 +1,98 @@
11
{
22
"header": {
3-
"pipelineVersion": "2.2",
4-
"releaseVersion": "2023.3.0",
5-
"fileVersion": "1.1",
6-
"template": true,
3+
"releaseVersion": "2025.1.0",
4+
"fileVersion": "2.0",
75
"nodesVersions": {
8-
"MeshFiltering": "3.0",
6+
"CameraInit": "12.0",
7+
"DepthMap": "5.0",
98
"DepthMapFilter": "4.0",
10-
"MeshDecimate": "1.0",
11-
"Meshing": "7.0",
129
"FeatureExtraction": "1.3",
13-
"CameraInit": "9.0",
14-
"Texturing": "6.0",
15-
"ImageMatching": "2.0",
16-
"Publish": "1.3",
17-
"DepthMap": "5.0",
1810
"FeatureMatching": "2.0",
11+
"MeshFiltering": "3.0",
12+
"Meshing": "7.0",
1913
"PrepareDenseScene": "3.1",
20-
"StructureFromMotion": "3.3"
14+
"Publish": "1.3",
15+
"StructureFromMotion": "3.3",
16+
"Texturing": "6.0"
2117
}
2218
},
2319
"graph": {
24-
"Meshing_1": {
25-
"nodeType": "Meshing",
26-
"position": [
27-
1600,
28-
0
29-
],
30-
"inputs": {
31-
"input": "{DepthMapFilter_1.input}",
32-
"depthMapsFolder": "{DepthMapFilter_1.output}"
33-
}
34-
},
35-
"DepthMapFilter_1": {
36-
"nodeType": "DepthMapFilter",
37-
"position": [
38-
1400,
39-
0
40-
],
41-
"inputs": {
42-
"input": "{DepthMap_1.input}",
43-
"depthMapsFolder": "{DepthMap_1.output}"
44-
}
20+
"CameraInit_1": {
21+
"nodeType": "CameraInit",
22+
"position": [0, 0],
23+
"inputs": {}
4524
},
4625
"FeatureExtraction_1": {
4726
"nodeType": "FeatureExtraction",
48-
"position": [
49-
200,
50-
0
51-
],
27+
"position": [200, 0],
5228
"inputs": {
5329
"input": "{CameraInit_1.output}",
30+
"describerTypes": ["dspsift"],
5431
"forceCpuExtraction": false
5532
}
5633
},
34+
"FeatureMatching_1": {
35+
"nodeType": "FeatureMatching",
36+
"position": [400, 0],
37+
"inputs": {
38+
"input": "{FeatureExtraction_1.input}",
39+
"featuresFolders": ["{FeatureExtraction_1.output}"],
40+
"imagePairsList": "",
41+
"describerTypes": "{FeatureExtraction_1.describerTypes}"
42+
}
43+
},
5744
"StructureFromMotion_1": {
5845
"nodeType": "StructureFromMotion",
59-
"position": [
60-
800,
61-
0
62-
],
46+
"position": [600, 0],
6347
"inputs": {
6448
"input": "{FeatureMatching_1.input}",
6549
"featuresFolders": "{FeatureMatching_1.featuresFolders}",
66-
"matchesFolders": [
67-
"{FeatureMatching_1.output}"
68-
],
50+
"matchesFolders": ["{FeatureMatching_1.output}"],
6951
"describerTypes": "{FeatureMatching_1.describerTypes}"
7052
}
7153
},
7254
"PrepareDenseScene_1": {
7355
"nodeType": "PrepareDenseScene",
74-
"position": [
75-
1000,
76-
0
77-
],
56+
"position": [800, 0],
7857
"inputs": {
7958
"input": "{StructureFromMotion_1.output}"
8059
}
8160
},
82-
"CameraInit_1": {
83-
"nodeType": "CameraInit",
84-
"position": [
85-
0,
86-
0
87-
],
88-
"inputs": {}
89-
},
9061
"DepthMap_1": {
9162
"nodeType": "DepthMap",
92-
"position": [
93-
1200,
94-
0
95-
],
63+
"position": [1000, 0],
9664
"inputs": {
9765
"input": "{PrepareDenseScene_1.input}",
9866
"imagesFolder": "{PrepareDenseScene_1.output}",
9967
"downscale": 1
10068
}
10169
},
102-
"MeshFiltering_1": {
103-
"nodeType": "MeshFiltering",
104-
"position": [
105-
1800,
106-
0
107-
],
70+
"DepthMapFilter_1": {
71+
"nodeType": "DepthMapFilter",
72+
"position": [1200, 0],
10873
"inputs": {
109-
"inputMesh": "{Meshing_1.outputMesh}"
74+
"input": "{DepthMap_1.input}",
75+
"depthMapsFolder": "{DepthMap_1.output}"
11076
}
11177
},
112-
"FeatureMatching_1": {
113-
"nodeType": "FeatureMatching",
114-
"position": [
115-
600,
116-
0
117-
],
78+
"Meshing_1": {
79+
"nodeType": "Meshing",
80+
"position": [1400, 0],
11881
"inputs": {
119-
"input": "{FeatureExtraction_1.input}",
120-
"featuresFolders": "{FeatureExtraction_1.output}",
121-
"imagePairsList": "{}",
122-
"describerTypes": "{FeatureExtraction_1.describerTypes}"
82+
"input": "{DepthMapFilter_1.input}",
83+
"depthMapsFolder": "{DepthMapFilter_1.output}"
84+
}
85+
},
86+
"MeshFiltering_1": {
87+
"nodeType": "MeshFiltering",
88+
"position": [1600, 0],
89+
"inputs": {
90+
"inputMesh": "{Meshing_1.outputMesh}"
12391
}
12492
},
12593
"Texturing_1": {
12694
"nodeType": "Texturing",
127-
"position": [
128-
2178,
129-
24
130-
],
95+
"position": [1800, 0],
13196
"inputs": {
13297
"input": "{Meshing_1.output}",
13398
"imagesFolder": "{DepthMap_1.imagesFolder}",
@@ -140,10 +105,7 @@
140105
},
141106
"Publish_1": {
142107
"nodeType": "Publish",
143-
"position": [
144-
2272,
145-
290
146-
],
108+
"position": [2000, 0],
147109
"inputs": {
148110
"inputFiles": [
149111
"{Texturing_1.output}",

0 commit comments

Comments
 (0)