STCaptureSessionPreset Range

I would like to use STCaptureSessionPreset and STCaptureSession to scan bread.
The bread size can be varied from a croissant (10cm x 5cm x 5cm) to a cake (30cm x 30cm x 15cm), or even a baguette (60cm x 10cm x 5cm).
Therefore, to scan an entire object, the user may need to position himself from a varying distance as well, and this is highly related to the range of STCaptureSessionPreset.

Does anybody know the range of each STCaptureSessionPreset range?

I checked the documentation but I have no luck.
The only information I got is:

Indicates the capture preset for configurable sensor options on the Structure Sensor Mark II

typedef NS_ENUM(NSInteger, STCaptureSessionPreset ) {
STCaptureSessionPresetDefault = 0,
STCaptureSessionPresetBodyScanning = 1,
STCaptureSessionPresetOutdoor = 2,
STCaptureSessionPresetRoomScanning = 3,
STCaptureSessionPresetCloseRange = 4,

1 Like

Hi Sezer,
we are using the STCaptureSessionPresetCloseRange and STCaptureSessionPresetBodyScanning and both of them allow us to get about 35 cm close to the object.

To test these settings you can use the Scanner app. Make sure IR Auto Exposure is on and you have selected the “Body” preset.

Please note: There are still remaining issues with the Mark II



Hi sezer_karaoglu,

OGuler’s message about enabling auto-exposure is one key thing you can do to improve small object tracking. The other key setting I would also change is to use the “Legacy Tracker” rather than “Improved Tracker”. Right now we’re seeing that the Improved Tracker is not as robust as the legacy tracker when mapping small objects.

Please try that and let me know if you see improved results!

Hi, @OGuler and @JacobErvin

Would you please tell me how to use STCaptureSessionPresetCloseRange?
Is it just replacing STCaptureSessionPresetBodyScanning with STCaptureSessionPresetCloseRange?
How do you measure the distance (35cm close to the object)? from front of lens to object or from front of iPad to object?
I only get 40cm from surface of iPad to surface of object.

Hi buyer,
from the front of the lens. In addition to replacing the STCaptureSessionPresetBodyScanning to STCaptureSessionPresetCloseRange you need to dim down the IR exposure with setting IR exposure to Auto while you are configuring the cpature session, otherwise the high IR exposure washes away all your depth data.

Hi, @OGuler,
Did you see any distance difference between STCaptureSessionPresetBodyScanning and STCaptureSessionPresetCloseRange?

for the old Scanner, when the minimum distance (I got by calculating from the center of depth map) is about 380mm, the real measurement from the object to rear surface of iPad (the point between scanner and iPad) is about 380mm.

according to spec comparison

the minimum distance for Mark II is 30cm, for old scanner, the minimum distance is 40cm

Hi @JacobErvin,
how should I measure the minimum distance? One end is the surface of object, where is the other end?

Hi buyer,
my understanding is, since this is a stereo setup (IR filtered camera + IR emitter) the origin or reference frame should be on the optical center of this setup i.e. if you look at the structure sensor from the front you can see that the lens is 10+ mm within the housing. I think if you measure to the back of the iPad and then take away ca. 15 mm then you should be right on the optical center where Z=0mm.

Hope this makes sense.
To summarize the origin is neither on the back of the iPad nor it is on the front of the structure sensor housing. It is in-between where the lens is (approximately).


PS: didn’t see difference between body and close range preset

Thanks, Ozgur:
That makes sense.

Hi @JacobErvin,

Since SDK 0.11 is released, would you please show us how to configure the setting so that the minimum measurement distance 0.3 for Mark II can be used with new sdk?
How should I measure the minimum distance? One end is the surface of object, where is the other end?

Thanks a lot.