CreativeCodingLab/aluminum — pull request #1 by KrbAlmryde (2013-07-15 15:56:27+00:00)
Title: Buttons and slider

Summary of changes
-------------------------------
Here is what Ive added, just some very simple buttons and sliders to control which clusters we see and to manage the percent and opacity of the brain image. Its not much but it was all I was able to get through this past week. It did give me a much better understanding of how the whole system communicate between C++ and Object-C(++), and I am feeling a lot more comfortable with that interaction. I did have a couple of questions about passing arguments defined in C++ to Object-C methods, but I can show you more of what I mean when I see you next.

My next steps are to really dig into OpenGL and become much more familiar and comfortable with shaders etc, so I can start having more control over color schemes etc.

Goals
--------
**UI/Cocoa** (In no particular order)
* Place the buttons and sliders into (onto?) a drawer, and place the drawer in a place that is unobtrusively obvious...
* (This ones ambitious) From some of the Mac Developer examples, try to incorporate a drag and drop feature, which would allow the user to drop a functional nifti image (pure data in this case) into the viewer, which would cause it to be rendered to the template brain immediately.
* Dynamically add buttons which control the images that are currently loaded onto the template brain.
* Add the ability to select which colors you want each cluster to appear as.

**OpenGL** (some of these might be overly ambitious)
* Understand how nifti images are read into the viewer and are displayed.
* Figure out how to dynamically change the cluster coloring, attach that feature to a button or slider
* See how difficult it is to 'zoom' in/out when viewing the brain
* What it takes to make orthogonal cuts etc into the template image, and optionally the cluster images as well
* would there be a way to do that via the UI? I am envisioning transparent floating disks which I can drag and resize, that would allow me to select the area I want to cut out, with a option (perhaps a button) that would let me either include the cluster activation in the cut out, or not.