I’m not sure why it’s not producing similar results with OTB.
As well as the LargeScaleMeanShift algorithm I’ve also tried with the LSMS workflow using MeanShiftSmoothing then LSMSSegmentation Then LSMSVectorization. This has given me the same results.
Here is a close up from Spatial Filtered Displacement.tif created using MeanShiftSmoothing. I should be able to detect the dredged channels that are clearly present here.
Did you try to play with the parameters ?
It might be interesting to try with a smaller value for the range radius (-ranger), so the algorithm will try to differentiate pixels with close radiometry.
Well, I would have tried 5 and 5. I am surprised you don’t get better results with 2 ad 5…
You may also want to reduce the Minimum Segment Size (-minsize), but I doubt it will help you in your case…
I am very surprised by your results. On one hand, you have a huge polygon for the underwater area. But on the other hand, the land seems to be over-segmented. I think the low Range Radius was not a good idea.
Maybe you should use different parameters for both areas. You could use a higher value for Range Radius to segment the land. Then use the ExtractROI application to generate a new image containing only the underwater area (use the huge polygon you obtained previously as input with the parameter -mode.fit.vect) and try smaller parameters on that new image.