- Apr 22, 2014
-
-
Paul McCarthy authored
Support for multiple images, from a predefined list. Am now going to try and add support for adding/removing images at runtime.
-
Paul McCarthy authored
ImageView supports multiple images. Pretty hacky at this stage, needs cleaning up. Have gone back to storing image data as uint8s.
-
Paul McCarthy authored
SliceCanvas supports multiple images. Well, it looks like it should, but I haven't yet tested it with more than one.
-
Paul McCarthy authored
GL buffer handle is now stored in fslimage.Image object. Removed notion of 'master' canvas from SliceCanvas - a shared GL context may be passed in directly. BUT if a shared context is not used, and the program attempts to share image buffers, it will segfault. Need to think about that one.
-
Paul McCarthy authored
-
- Apr 17, 2014
-
-
Paul McCarthy authored
-
Paul McCarthy authored
Bugfix/workaround - due to the non-guaranteed ordering of property listener callbacks, not all SliceCanvas objecst were updating their colour textures on changes to range clipping. You can now add a 'preNotifyFunc' to PropertyBase objects, which will be called as soon as a property value changes, before any listeners. A few other minor commentings and refactorings
-
Paul McCarthy authored
Added clipping functionaliy (out-of-range values are transparent). Image display properties are now defined in a separate class, fsl.data.ImageDisplay.
-
Paul McCarthy authored
-
Paul McCarthy authored
Substantial changes. Back to storing straight image data on the GPU (normalised to lie between 0.0 and 1.0). Colours are now provided by a 1D texture buffer, which can be dynamically updated. If you want to change the colour map, all you need to do is replace the texture. Easy1
-
- Apr 16, 2014
-
-
Paul McCarthy authored
slicecanvas.py now uses an fsl.data.fslimage.Image object, with associated colour map information. Image data is now stored on the GPU as r,g,b triplets for each voxel.
-
- Apr 15, 2014
-
-
Paul McCarthy authored
-
Paul McCarthy authored
I've been bitten again by numpy's tendency to force C style dimension ordering, instead of preserving an array's existing ordering. Gah, hate\! All fixed now.
-
- Apr 14, 2014
-
-
Paul McCarthy authored
-
- Apr 11, 2014
-
-
Paul McCarthy authored
Geometry and image data now stored as unsigned bytes. Position data stored as uint16. Started adding some comments to slicecanvas.py
-
Paul McCarthy authored
-
Paul McCarthy authored
-
Paul McCarthy authored
Quite a big change. Now, instead of having a geometry buffer which stores all vertices, I have a gemoetry buffer which defines the geometry for a single voxel. Then I have a position buffer which stores the position for every voxel (in one slice). In the vertex shader, the geometry is transformed by the current voxel position. Oh, I've made that divisor rubbish work too, so I only need to store each image value once in memory.
-
Paul McCarthy authored
-
- Apr 10, 2014
-
-
Paul McCarthy authored
-
Paul McCarthy authored
-
Paul McCarthy authored
-
Paul McCarthy authored
Ok, I'm back to a fast and functional viewer! Am about to separate out GPU image data construction, so it can be shared across multiple canvasesesess
-
- Apr 09, 2014
-
-
Paul McCarthy authored
Ok, I did have a fast and functional viewer. But I've started to optimise the GPU memory representation, and have broken it again. Sorta functional,but not really.
-
- Apr 08, 2014
-
-
Paul McCarthy authored
Ok, little demo OpenGL viewer is actually functional. Good lord, that was a horrible process. Need to optimise how data is stored in GPU, and maybe use custom vertex/fragment shaders.
-
- Apr 07, 2014
-
-
Paul McCarthy authored
Added isValid method to HasProperties object, so visible/enabled callbacks can use validity of other properies. Bugfix to build Buttons. Trying to build an OpenGL widget. I hate OpenGL. Not working right now.
-