New Camera SDK 1.0 Final now available

beckdo
NaturalPoint Employee
NaturalPoint Employee
Posts: 519
Joined: Tue Jan 02, 2007 2:02 pm

Re: New Camera SDK 1.0 beta 2 now available

Post by beckdo » Mon Nov 15, 2010 4:01 pm

I've removed the PI definition completely. Thanks for the heads up.

Pjotr
Posts: 4
Joined: Mon Jul 05, 2010 5:47 am

Re: New Camera SDK 1.0 beta 2 now available

Post by Pjotr » Tue Nov 16, 2010 3:32 am

I have another question. It is something I can't test myself yet as we are waiting for new cameras and our old cameras are set up and removing them to test would mean we need to recalibrate everything. Is it possible to have two programs running that are using the SDK but access different cameras. I remember that with the previous SDK the second program would block at the CameraCollection::Enum() if the first one was running already.

If not I would need to modify my program to use two threads and then my question is if the library is thread safe. Can I call Camera::GetLatestFrame() and Frame::Rasterize() at the same time in different threads for different cameras?

beckdo
NaturalPoint Employee
NaturalPoint Employee
Posts: 519
Joined: Tue Jan 02, 2007 2:02 pm

Re: New Camera SDK 1.0 beta 2 now available

Post by beckdo » Tue Nov 16, 2010 4:34 pm

For time being you're not allowed to run two applications using the Camera SDK at the same time or you'll run into some of the same types of issues that were encountered on the old SDK. If you need to run two applications at the same time it is possible to disable the Camera Library from trying to connect to devices to work around the problem you describe. It's possible that in the future we might be able to make it so that two applications can each connect to different USB cameras however currently that's not possible.

Part two of your question. The Camera SDK is thread safe, and you can call GetFrame() or GetLatestFrame() then pass the pointer around and do your processing in another frame.

Since frames are reference counted it is also possible for you to pass the pointer to multiple threads (incrementing the reference count for each additional by calling frame->AddRef()), then whenever one of the consumer threads is done with it's frame pointer it can call frame->Release() and the frame object will magically get recycled when all threads are complete. Which is nice because you may not even know which thread will complete first so this is an efficient way to achieve that.

beckdo
NaturalPoint Employee
NaturalPoint Employee
Posts: 519
Joined: Tue Jan 02, 2007 2:02 pm

Re: New Camera SDK 1.0 beta 2 now available

Post by beckdo » Tue Nov 16, 2010 4:37 pm

Just a follow-up on how to disable the Camera Library from connecting to devices. In the current release of the Camera SDK, you can disable connecting to Ethernet devices. This is nice if you only plan on ever using USB devices and don't want the OS to pop a dialog regarding the type of network you are connected to.

Call the following function at your application's entry point before trying to access the Camera Library in any fashion:

cCameraLibraryStartupSettings::X().EnableEthernetDevices(false);

In the next release of the Camera SDK you will also be able to disable USB devices.

stevelancey
Posts: 3
Joined: Wed Dec 01, 2010 6:51 pm

Re: New Camera SDK 1.0 Final now available

Post by stevelancey » Wed Dec 01, 2010 7:07 pm

The SDK looks much simpler, great.

I have three questions:

Does the TrackIR 5 support the frame->Object related functions and is able to list all objects and their center, through an api call like the OptiTrack line does?

Can the Camera SDK be used with the TrackIR 5 without using the TrackIR SDK?

Though it doesn't exactly fit here, what is the distance at which a 5/8 inch marker can be tracked by the TrackIR 5?

Thanks,

Steve

Birch
Posts: 1139
Joined: Thu Jan 30, 2003 5:00 am
Location: Corvallis, Oregon

Re: New Camera SDK 1.0 Final now available

Post by Birch » Thu Dec 02, 2010 12:19 am

Yes, the same API calls are used for iterating through objects regardless of the camera type (OptiTrack/TrackIR). Note that several of the video modes available in OptiTrack cameras are not supported by the TrackIR cameras.

The Camera SDK can be used directly with TrackIR cameras and does not require interfacing with the TrackIR Enhanced SDK. The two SDKs are independent and serve different purposes. Additionally, the TrackIR software (which the TrackIR Enhanced SDK requires to be running) must not be running at the same time as an application which uses the Camera SDK, only one app can to talk to the cameras at a time.

A 5/8th inch marker can be detected by a TrackIR 5 up to about 7-8 feet at the maximum IR intensity and exposure settings.

Lifeisabug
Posts: 7
Joined: Tue May 11, 2010 8:28 am

Re: New Camera SDK 1.0 Final now available

Post by Lifeisabug » Tue Dec 14, 2010 6:38 am

Will this SDK be available for 64 bit anytime soon?

Birch
Posts: 1139
Joined: Thu Jan 30, 2003 5:00 am
Location: Corvallis, Oregon

Re: New Camera SDK 1.0 Final now available

Post by Birch » Tue Dec 14, 2010 5:02 pm

Camera SDK 64 bit support is on our roadmap but we don't have a specific release date available for it yet. The current SDK can still be used on 64 bit operating systems as long as its compiled into 32 bit apps.

Thanks for letting us know you're interested in it, customer requests are factored into our development priorities.

neill_solow
Posts: 41
Joined: Tue Nov 04, 2008 10:32 am

Re: New Camera SDK 1.0 Final now available

Post by neill_solow » Wed Dec 15, 2010 12:23 am

Hi Birch,

I'm trying to get video from TrackIR cameras. For trackir4 grascale mode work properly, but for trackir5 there is a black screen. Could you help, which modes does trackir support ? And which can I use for grabbing grayscale picture from camera ?

Birch
Posts: 1139
Joined: Thu Jan 30, 2003 5:00 am
Location: Corvallis, Oregon

Re: New Camera SDK 1.0 Final now available

Post by Birch » Wed Dec 15, 2010 1:04 am

TrackIR 4 and TrackIR 5 cameras are USB 1.1 "full speed" devices. This means they do not have enough bandwidth to stream uncompressed grayscale video, they only stream processed video. Grayscale requires USB "Hi Speed" devices such as our OptiTrack cameras.

TrackIR 5 cameras support :
* Segment mode (0)
* Interleaved grayscale mode - non-realtime (3)
* Bit Packed Precision mode (5)


TrackIR 4 cameras support :
* Segment mode (0)


OptiTrack camera video mode chart :
(scroll to "Video / Processing Modes")
http://www.naturalpoint.com/optitrack/p ... rison.html

Post Reply