BBTouch, code, multitouch

BBTouch Code Updated to r15130 Sep

Hey all!

I just checked in a big chunk of new code and a new interface for BBTouch. (now up to r151)

I moved some of the interface stuff around, I put the TUIO stuff and the Screen Selector into sheets to unclutter the main interface a bit. I also added a button to open the filter config window. as well as the new config library :-) more on that in a sec.

I added a whole new configuration control system. Now you can save and load configurations on the fly very easily through the config library.

It is pretty straight forward: just get all the settings to where you like them, then open the library, hit "+" and it will add a new configuration (double click to edit the name). each configuration holds every value on the interface as well as both the camera mesh and the projection mesh. So now you can configure all the various surfaces/situations you might need and just switch them easily on the fly.

Thanks again to Sandor for funding all these new changes (as well as the other code that I am working on that will be posted next week; a few demo apps like a cocoa based lightbox (all TUIO of course, so you can use it even if you dont want to use BBTouch). Also, Sandor and I are rushing to get these apps working by Monday, so if you want to help out, load up bbtouch and break the hell out of it and let me know what bugs you find.

Here is a binary of r151:
bbtouchr151app (check more recent posts for newer binaries)

also the code is up on the repo, link in the sidebar to the right.

I will probably be changing the BBTouch code a few times this week, so check back for the most recent stuff. (i will always commit the code to the google repo too, so that will always be updated)

Cheers!
-b

BBTouch, code, multitouch

Quick Code Update for BBTouch29 Sep

Hey All,

I just finished committing the last of the new filter code to the repository. (r150) No binary yet (I am at a conference, waiting for the keynote to start, so no time now :-) so you will have to compile your own. You will also need the openCV.framework
(found here: http://www.ubaa.net/shared/processing/opencv/)

(I plan to add it properly to the project as a private framework, but didnt do it when i added it first for some reason, and now I keep forgetting)

anyhow, the only thing to know really is that in the View Menu, there is a new option : Filter Config... This will allow you to adjust the filter parameters for your setup. It is kinda optimized for DI stuff right now (because that is what I have) but I will add more FTIR friendly filters later (if someone tells me what they need) Oh, and dont put even numbers (or zero) in for the kernel values, or it will crash. I need to put a constraint on that, but haven't got to it. You can put any number in for the Threshold Mean Offset tho. (negative numbers usually work best)

Let me know any bugs you find!

CHeers!
-b

BBTouch, code, multitouch

Quick BBTouch Update28 Sep

Here is a youtube video (my first :-) of the initial testing of the newer/better/more filtery-er BBTouch along with the BBTUIOTest app (now with more lightboxyness).

Apologies for the supreme craptacularness of the video quality. I don't have a camcorder, so I just pointed my laptop's built-in iSight at the table and used iMovie to capture. (while also running BBTouch in the background)

Anyhow, the BBTouch setup was like so:

BBTouch tracking, generating TUIO events, sending them via wifi to yet another machine running BBTUIOTest which is running the projector, and is running the lightbox code.

I know what you are all thinking: since when does BBTUIOTest have a lightbox feature?? and the answer to that would be since a few days ago when I added it. (no code up yet, it is still pretty raw)

I think it is also important to note that all this development comes with much thanks from Sandor's development budget. I have been working with him on an MT app that he designed (more on that later :-) and now we are moving to the next step and getting BBTouch and some nice (yet to be made :-) cocoa/core image demo apps up to snuff so that he can use them for his own nefarious purposes :-) So! Everyone needs to buy Sandor a beer and thank him for his generous funding of BBTouch and Multitouch code development, and fastracking BBTouch improvements that I may never have gotten to otherwise! (thus saving me at least temporarily from some other, far less interesting jobs :-)

SO! BBTouch, now with more filters: It is still in a very raw state, and the code wont be stable for a few more days at the very least, but here is a sneak peek:

I know, everyone is wondering why I didnt add filtering sooner. Well, it is like this: I like to keep things as simple and minimal as possible (especially things that are generally very complex, like MT stuff). And before, when BBTouch was merely a pet project and I could optimize the blob detection algorithm to my heart's content, that is what i did. I think it paid off in the end, because i think that just the blob detector pre new filtery goodness was about 85% there. All it was doing was a background subtraction and a simple threshold, and I got really good coverage across about 85% of my surface. However, I was getting the bane of all DI surfaces: false hits from you palm or curled fingers on the light areas and no hits for any blobs in the dark areas. These filters help with that immensely.

Now I have added basically two more filters: a High Pass and an Adaptive Threshold. (and a noise reducer for the highpass, so I guess technically 3 filters.) (all using the openCV image filters. more on that later too)

The High pass filter made all the difference. For anyone doing DI type setups, make sure that you are using a higpass, it will make your life so much easier.

Anyhow, enough for now, back to work for me!

Cheers!
-b

BBTouch, meta, multitouch

No longer on location.. however..09 Sep

Still busy.

Just a quick update for everyone waiting (all 2 of you :-) for BBTouch stuff. I finished up that last job, but rolled right into another one that will keep me busy for at least 2 weeks. so, good for me (I can pay my bills! yay!) but less good for BBTouch development (gotta wait just a bit longer :-( ).

that is all for now!

Cheers!
-ben

multitouch

out on location02 Sep

Hello All,

I just wanted to post a quick apology for being unresponsive to the latest batch of emails and comments. I got called out on an 'emergency' film shoot last friday afternoon to fix some motion control rigs and wont be back until this friday at the earliest. (i say 'emergency' because it was their emergency, not mine :-) i just had to pack up and leave in a hurry to come and get it working again)

quickly: Sandor, Drills, I think that there must be an issue with the mapping stuff that was added in the last big release. I will have a closer look at that stuff with your issues in mind and hopefully find a smoking gun somewhere in the code.

Todd, i will have a look at your project and see what I can find, but probably wont get the time until this weekend (maybe friday) . However if you want I would suggest that you make a mac-based cocoa app that does what you want, and then when that is working, port it over to the iphone. it is a bit easier to debug and fiddle with the cocoa/mac apps and if desiged right you should only need to replace the UI code.

Brent: I don't think that was our gear at the DNC. But then again they never tell me anything :-)

i have probably forgotten someone/something but i will get to all of it when i get home, i promise :-)

Cheers!
-b

About

meMy full name is Ben Britten Smith.

I go by Ben Britten because Ben Smith is a bit too common and using my full name is a mouthful.

I live in Melbourne, Australia and service clients all over the globe.

Contact

Have some questions?

Feel free to contact me directly at support@benbritten.com with any questions you might have about any of the applications I support.

Thanks!

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIGFib3V0LXdpZGdldDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2JlbG93X2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL2JlbmJyaXR0ZW4uY29tL3dwLWNvbnRlbnQvdGhlbWVzL3ZpYnJhbnRjbXMvaW1hZ2VzL2FkNDY4LmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2JlbG93X3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gYmVuYnJpdHRlbi5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19ibG9ja19pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly9iZW5icml0dGVuLmNvbS93cC1jb250ZW50L3RoZW1lcy92aWJyYW50Y21zL2ltYWdlcy9hZDMzNi5qcGc8L2xpPjxsaT48c3Ryb25nPndvb19ibG9ja191cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19ibG9nPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Jsb2djYXQ8L3N0cm9uZz4gLSAvY2F0ZWdvcnkvYmxvZy88L2xpPjxsaT48c3Ryb25nPndvb19jYXRfbWVudTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGFjdDwvc3Ryb25nPiAtIGNvbnRhY3Q8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSBodHRwOi8vYmVuYnJpdHRlbi5jb20vZmF2aWNvbi5pY288L2xpPjxsaT48c3Ryb25nPndvb19mZWF0cGFnZXM8L3N0cm9uZz4gLSA1NDk8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX3VybDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19sYXlvdXQ8L3N0cm9uZz4gLSBkZWZhdWx0LnBocDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19tYW51YWw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vc3VwcG9ydC90aGVtZS1kb2N1bWVudGF0aW9uL3ZpYnJhbnRjbXMvPC9saT48bGk+PHN0cm9uZz53b29fbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSAyLDgyLDU0OSw1NTMsNTY3LDUzMiw1MzQsNTM3LDgzMjwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfYWQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfbXB1PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zdGVwczwvc3Ryb25nPiAtIDEuLCAyLiwgMy48L2xpPjxsaT48c3Ryb25nPndvb190YWJiZXI8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIFZpYnJhbnRDTVM8L2xpPjwvdWw+