Forum Archive

High school student project

kw

I will be mentoring a gifted high school student with programming experience for 3 months, and I was hoping to get some feedback here on the most straightforward way for him to complete this goal:

  • First, an iPad/GoPro camera is used to record a video/still frames of a chemical reaction that result in bubble formation. I.e. at the beginning of the video you would see a blank background, and then later in the video a population of bubbles would exist and grow in size and number.

  • Then the iPad would be used to analyze and then to plot (# of bubbles) or (total bubble area) versus time.


(we are limiting ourselves to an iPad to test the limits of on demand mobile analytics)

Some strategies I have considered:

1) Use Pythonista with supported matplotlib/numpy modules to analyze images.

Pros: He learns to use Pythonista, the best mobile IDE (he has some experience with this already, I guess his HS has students download this)!

Cons: Without scipy, I'm not sure that the image analysis that we will run across will be entirely possible with matplotlib/numpy. I'm also not sure what limitations we will run into with the pure python modules available in Pythonista.

2) Program this analysis using a python IDE on a PC/mac and then use kivy or some other means to try and compile the code into a stand alone iOS app.

Pros: Access to scipy and other image analysis packages that are already finished. We don't have to reinvent the wheel on particle counting.

Cons: I imagine it might be a nightmare trying to successfully compile from python to a stand alone app... Maybe I'm wrong here?

3) Program the entire thing in Obj C and Swift using X Code.

Pros: He will get experience with an actual app development environment. We might be able to leverage the OpenCV framework.

Cons: The learning curve might be too high to complete within the time frame.

4) Set up a server on a windows PC that uses open source image analysis (ImageJ / Fiji) and use Pythonista to upload the relevant data (image/video) and initiate the off-site analysis.

Pros: Decouples the image processing aspect from the mobile device used.

Cons: Not sure where to look on how to connect a non-jailbroken iPad directly to a PC with bluetooth/WiFi and send it commands to initiate an analysis on the PC and have the PC send back results. This has to be done on an intranet decoupled from a shared WiFi network. Also, having a user connect to multiple wifi nodes would be a usability hassle (having to switch between the go pro and the PC/Raspberry Pi)


Ideally this would result in an ultraportable analysis tool for this specific application of measuring a reaction rate that would simply require the user to record the reaction and press analyze (either within an IDE on the iPad, or a standalone app).

Thanks for any feedback!

Cheers

ccc

I would recommend that you listen to this podcast and check out some of the resources mentioned.

http://www.talkpythontome.com/episodes/show/11/pyimagesearch-and-computer-vision

A fifth option would be a Raspberry Pi with their camera module... Approx $50 for all the hardware and it supports all the software that you mentioned above.

briarfox

I'm a big fan of pythonista and it would be really cool to use option 1. I have not done much on the ipad with analizing images, I've used @ccc mentioned option of the raspberry pi. Works well.

Option 2 shouldn't be to difficult. With Apple announcing the ability to install directly on the device without the dev license make this option sound better. Kivy is amazing, I've become a big fan of it. I'd suggest pyCharm for a IDE.

ankitjainin

Nice information is shared