Home Forums Software Development tobii_calibration_apply()/tobii_calibration_retrieve() license requirements.

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #11793
    Roman
    Participant

    Hi,

    I’m using 4C on Linux with the Stream Engine just for head position. I don’t do gaze analysis neither do I store reports at all to this effect. So far so good. Recently I tried to extend my application with tobii_calibration_apply() and tobii_calibration_retrieve() calls intending to give the tracker’s calibration some persistency. The idea is to store the calibration blob whole onto the disk and perform a quick restore when I power the system on. No parsing, no augmentation of any kind, just dump and load. However both API fail for me with ‘Insufficient permissions when using a restricted feature’ error. Do I really need an elevated license just for this or am I overlooking something here? I think I saw some calibration management mentioned for ‘tobii_engine’ API the other day but the entire API appears to be stripped from the latest Linux release? Please advise.

    #11794
    Grant [Tobii]
    Keymaster

    Hi @romane2m, thanks for your query. We can confirm that the storing of calibration data does indeed require the purchase of the custom calibration licence to do so and that without such, it is necessary to rely on calibration handling via the Default Tobii Software.

    Our apologies if this causes you undue inconvenience. For a quote regarding a custom calibration licence, please send an email to [email protected]

    Best Wishes and please let us know if we can provide you any further information.

    #11795
    Roman
    Participant

    Grant,

    thank you for the prompt reply. So the API in question indeed requires a special license for some reasons. Could you please advise on an alternative solution? All I’d like to achieve here is to minimize power-on to ready time for my setup. As of now, after powering 4C on I have to redo a screen calibration by running ‘tobii_config’ which though straightforward, is not always guaranteed to be successful and takes time. I reckon the calibration is stored on the device itself and is lost after a power cycle. Is there a way to perform a screen calibration once and apply it permanently? It could entirely be I’m overlooking something obvious here as I’m trying to concentrate on other project priorities and only had time for a quick scan through the Linux API…

    #11800
    Grant [Tobii]
    Keymaster

    Hi @romane2m, you should only need to run the calibration routine once per new user and certainly the calibration profile is maintained after shutting down power or restarting the system.

    Can you confirm that this is not the behaviour? If you simple try to access the gaze data directly in your program without calibrating, is there some error message or lack of accuracy? Thank you for the explanation.
    Also, out of curiosity, are you able to reproduce this situation in Windows?

    #11806
    Roman
    Participant

    Grant,

    I figure I best describe what exactly my application is doing in case my interpretations are wrong. After due initialization the application calls tobii_get_display_area() to get screen corners coordinates and derive tracker-to-world transformation from these. Without an initial calibration the call reports 4×4 screen at z = 0 (i.e. top left corner is at [-2, 2, 0]). If I run ‘tobii_config’ applet and complete the screen calibration the screen position report changes to some sane though not too precise numbers. My application is mostly interested in relative motion rather than in absolute head position so some inaccuracy is no problem. The screen position report remains the same after the application and even ‘tobiiusbserviced’ service restart however if I disconnect and connect again the tracker or power cycle the whole hosting system the screen position report reverts to the initial 4×4 state which leads me to believe the calibration is actually stored in tracker’s volatile memory.

    There’s no error reported by the API (every call is checked). I didn’t look deep into report quality but visually it seems OK, I mean at least the report appears to follow head movements as expected. I didn’t try on Windows yet but I might in future, some code maintenance will be needed for that.

    Is ‘tobiiusbserviced’ service expected to provide screen calibration persistency across power cycles somehow? Admittedly I might have skipped something while adapting the original Debian package for my system. Does it expect some extras (i.e. running GVfs) which may be lacking on my rather bare bone installation?

    #11807
    Roman
    Participant

    To be clear – what I wrote about reports above applies to a calibrated setup. Running my application without a calibration doesn’t produce errors either but all the samples are marked invalid. In addition I tried gaze origin stream which appear to behave the same.

    #11810
    Roman
    Participant

    Ah, I figured it out – apparently ‘tobii_config’ does write the calibration under ‘~/.config/Tobii Config/’ but it takes auxiliary ‘tobii_engine’ service to publish it for the clients. The latter is marked as merely ‘recommended’ in the Stream Engine online documentation and corresponding client API appears to be stripped from the latest Linux release so I never bothered to adapt its Debian package for my system until now.

    I can confirm the screen calibration persists across hardware power cycles as long as ‘tobii_engine’ service is operational.

    #11818
    Grant [Tobii]
    Keymaster

    Hi @romane2m, okay great thank for letting us know you figured it out!

    Hopefully now that the methodology on how the stream engine API maintains calibration profiles across restarts is clear, you should not need the custom calibration licence? In any event, please do let us know if we can provide any further information for you.

    #11820
    Roman
    Participant

    Grant,

    nope, no need for an elevated license, I’m covered for now. Should anyone be digging around this parts, please disregard my comment above of ‘tobii_config’ writing the calibration under ‘~/.config/Tobii Config/’. It does write something there but actual last calibration served by ‘tobii_engine’ seems to come from ‘/usr/share/tobii_engine/db/config.db’ and is therefor shared by all users of the system.

    #11826
    Grant [Tobii]
    Keymaster

    Great! Thanks for the extra tip Roman 🙂 All the best

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.