Turns out RC doesn’t load all images into memory and there’s a different problem at play. When I replaced all my pngs with a solid black, their total size dropped to 4GB. Attempting to load this dataset along with COLMAP data still produced an OutOfMemory error even when increasing my swap to 60GB
I bypassed the issue by using the Bundler fromat. But I had to adjust because RC cannot read out.list.txt and instead expects certain filenames. Powershell script courtesy of ChatGPT.
$inputFile = "bundler_model.out.list.txt"
$logFile = "processed_files.log"
$targetDir = Get-Location
# Load already processed files if the log exists
$processed = @()
if (Test-Path $logFile) {
$processed = Get-Content $logFile
}
# Load source paths and filter
$allPaths = Get-Content $inputFile | Where-Object { -not [string]::IsNullOrWhiteSpace($_) }
$toProcess = $allPaths | Where-Object { $processed -notcontains $_ }
# Counter starts at 0
$counter = $processed.Count
foreach ($sourcePath in $toProcess) {
$sourcePath = $sourcePath.Trim()
if (-not (Test-Path $sourcePath)) {
Write-Error "File not found - $sourcePath"
break
}
$newName = "{0:D5}.png" -f $counter
$destinationPath = Join-Path $targetDir $newName
#Write-Host "`nReady to copy - " -ForegroundColor Cyan
#Write-Host "From - $sourcePath"
#Write-Host "To - $destinationPath"
#Write-Host "Press any key to continue, or Ctrl+C to abort..." -ForegroundColor Yellow
#[void][System.Console]::ReadKey($true)
try {
Move-Item -Path $sourcePath -Destination $destinationPath -Force
Add-Content -Path $logFile -Value $sourcePath
$counter++
} catch {
Write-Error "Error copying $sourcePath - $_"
break
}
}