When using the Mosaic Application through the python API with a feathering method set, the Ram Parameter is ignored.
With two images to mosaic (testExample.tif, testExample3.tif)
TestMosaic = otb.Registry.CreateApplication("Mosaic") TestMosaic.AddParameterStringList('il','testExample.tif') TestMosaic.AddParameterStringList('il','testExample3.tif') TestMosaic.SetParameterString("comp.feather","slim") TestMosaic.SetParameterString("ram", "10000") TestMosaic.SetParameterString("out", "testExampleOutput.tif") TestMosaic.ExecuteAndWriteOutput()
outputs to the terminal
(INFO): Estimated memory for full processing: 2941.42MB (avail.: 256 MB), optimal image partitioning: 12 blocks
The same behavior occurs if feathering is set to "large"
If I remove the "TestMosaic.SetParameterString("comp.feather","XXXXX")" line it says
Estimated memory for full processing: 16950.4MB (avail.: 10000 MB), optimal image partitioning: 2 blocks
Windows 10, OTB 8.01 binaries
Okay Thank you. I apologize for the confusion.
My issue was more the other direction. I have ~100GB of ram available and was hoping to speed up the process by making use of more than 256 MB.
Hello @remicress I apologize. I just realized my confusion.
When doing feathering it looks like it writes some binary masks and other temporary files. The "Estimated memory for full processing: 2941.42MB (avail.: 256 MB)" appears to refers to that operation. In the end when the final mosaic is written it appears to use the ram parameter. I just noticed this when I ran it on 7.4.0. (I can confirm that the behavior is the same on both)
I suppose my expectation was that the ram parameter would affect the sub-processes as well, but I'm not sure whether that makes sense or not. Is there a way to change the sub-process ram allowance?
When using the Mosaic Application through the python API with a feathering method set, the Ram Parameter is ignored.
With two images to mosaic (testExample.tif, testExample3.tif)
TestMosaic = otb.Registry.CreateApplication("Mosaic") TestMosaic.AddParameterStringList('il','testExample.tif') TestMosaic.AddParameterStringList('il','testExample3.tif') TestMosaic.SetParameterString("comp.feather","slim") TestMosaic.SetParameterString("ram", "10000") TestMosaic.SetParameterString("out", "testExampleOutput.tif") TestMosaic.ExecuteAndWriteOutput()
outputs to the terminal
(INFO): Estimated memory for full processing: 2941.42MB (avail.: 256 MB), optimal image partitioning: 12 blocks
The same behavior occurs if feathering is set to "large"
If I remove the "TestMosaic.SetParameterString("comp.feather","XXXXX")" line it says
Estimated memory for full processing: 16950.4MB (avail.: 10000 MB), optimal image partitioning: 2 blocks
Windows 10, OTB 8.01 binaries