Remember when I explained my envisioned system a couple of months back (click here if you don’t)? The idea is to replace the complex process of transfer function specification by a more intuitive method. I have named this method “Example-based Appearance Specification” (EbAS), and the idea was to use pre-rendered static example images of the dataset to show the user how a certain emphasis technique would look on the segment. The user would create a style by selection various options (images) in a list, combining multiple emphasis techniques for multiple segments in one final style for the whole dataset.
However, over the past few weeks the idea rose to replace the static, pre-rendered images with live previews of the input data. The main idea is that the user should only need to load his dataset and a quantized segmentation volume (where each voxel has an id representing the segment it belongs to, if any) and EbAS will do the rest for you. It will use the two datasets to subtract the individual segments and will generate interactable, 3D previews in its selection widget. The user can now see how a certain emphasis technique would look on a certain segment of his dataset. In addition, this allows for interactively updating the live previews based upon the selection the user has made for that segment.
Of course, this is not yet completely finished as of now, but the first steps are made. There are now GLCanvasses in my widget getting live input, and displaying this per segment. In this case, all the canvasses show the same data. This is not because they render the same texture however, this is only because I did not yet implement to render different data to all the textures. It now simply renders the same data, and uses the same shader for each canvas + texture. Hopefully, somewhere in the next week it will render the actual segments of each dataset in the correct dropdown option.
After loading the segments for the correct dropdown, I will need to implement all the emphasis techniques, which will take some time as there is no information on how to do this for histological datasets. As the idea for now is to also support CT and MRI data, I might start implementing the known techniques for those scalar datasets. Will think about that…
Finally, a pretty screenshot which is actually quite dull compared to the running program (where I can play with it =] ).
Popularity: unranked

Write a Comment
Let me know what you think?