Skip to content
AjayLimaye edited this page Jun 19, 2017 · 14 revisions

Citing Drishti

Ajay Limaye; Drishti: a volume exploration and presentation tool. Proc. SPIE 8506, Developments in X-Ray Tomography VIII, 85060X (October 17, 2012)


Program Fails

Operations on Volume Data

Multiple Volumes

Image/Movie generation

Mac OSX problems


I get a message error linking texProgObj ?

The error occurs because the graphics card on the machine does not support the required OpenGL version (OpenGL 2.0 or higher). Please try updating the graphics driver.

Top



Is it possible to export a segmented volume (tag data or image data) as TIFF slices so that it can be imported into another program like Avizo?

Once the volume is segmented in Drishti (classified using transfer functions and/or painting), you can save the volume using [rescale](Commands via Main Window#rescale) or [reslice](Commands via Main Window#reslice) option. This will save the raw volume applying the current transfer function - i.e. all voxels that are transparent are saved as 0 values. The data has 13 byte header.

If Avizo allows reading raw files, then the saved raw file can be used directly - you just need to make sure that Avizo ignore the 13 byte header.

Otherwise, load the raw file in importer and use "Save Images" option to save individual slice images.

Top


How to reorient volume ?

Reorient the image the way you want, so that view direction coincides with the final Z-axis. Then give [reslice](Commands via Main Window#reslice) command. The volume data that is stored in the texture memory will be rendered and stored as volume. The current level of subsampling will affect the final volume size. The data will be linearly interpolated.

Reoriented volume can also be sub-sampled or super-sampled before storing to change the size of the data.

If the data has been painted, tagged voxels for specific tag value can be saved as volume.

Top


How to resample/rescale volume ?

Use [rescale](Commands via Main Window#rescale) command. The volume data that is stored in the texture memory will be rendered and stored as volume. The current level of subsampling will affect the final volume size. The data will be linearly interpolated.

The volume can be sub-sampled or super-sampled before storing to change the size of the data.

If the data has been painted, tagged voxels for specific tag value can be saved as volume.

Top


How to save painted volume ?

Use [rescale](Commands via Main Window#rescale) or [reslice](Commands via Main Window#reslice) command.

Top



How does one translate one volume wrt another? I’ve got two volumes, a long one and a short one. The short one should be in the middle of the long one, so I need to translate the short one half the length of the long one.

For translation use bricks. Set the transfer functions such that each brick shows one volume. Then translate appropriate brick - remember that the coordinates are normalised.

When using multiple volumes, the transfer function assignment works as follows : set 0 for volume 0, set 1 for volume 1, set 2 for volume 2, etc. Any transfer function (name may be anything TF0, TF1, - which can be changed by clicking on the name and changing it) when switched on for a set will be composited with other transfer functions in that set. When a transfer function set is specified in bricks where multiple volumes are present, the specified tf set is applied to volume 0, then next set (tfset+1) is applied to volume 1 and so on. For example, if Set 3 is specified for a bricks and we have 4 volumes, then Volume 0 will be rendered with Set 3, Volume 1 with Set 4, Volume 2 with Set 5 and Volume 3 with Set 6. Same logic applies for blending operations as well.

Top


When multiple volumes are loaded, does anyone know how to select and move just one of them?

Use bricks - have a look at http://sf.anu.edu.au/~acl900/tmp/help-videos/movevolumeswithbricks.swf

Top



How to create movies on Mac

If you have ffmpeg on your machine then following command will generate quicktime movie : '''ffmpeg -i images%5d.png test.mov'''

ffmpeg can be installed via homebrew -

http://chrisandjo.com/redletter/building-ffmpeg-on-your-mac-with-homebrew/

http://www.renevolution.com/how-to-install-ffmpeg-on-mac-os-x/

Top


Why do I get transparent background in saved image even when I can see black background in Drishti window ?

When background colour is set to (0,0,0) then the background is transparent, but it is shown as black in Drishti rendering window. Different imaging programs treat transparent backgrounds differently, some show it as black, some gray, some checkered. The transparent background allows users to embed images onto different backgrounds.

If you want black background in the saved image, set background RGB colour in "Preferences" panel to any above 0 (for e.g. 1,1,1), which is for all practical purposes black.

Top


On Mac with Retina display, the volume opens just fine, but no matter how I resize the screen, the volume is only rendered in one quarter of the screen.

The Retina display has four times the pixels of the standard MacBook Pro display. Drishti is currently not support Retina display, but it is possible to make it work by opening the application in Low Resolution mode as described in https://support.apple.com/en-us/HT202471. Go to the section I'm noticing functional or visual issues with an application. How can I make it work better? on this page.

Fix from Hollister Herhold -
I ran into this issue and was able to fix it. You need to edit drishti.app/Contents/Info.plist and add a new key. Right after NSPrincipalClass you need to add an NSHighResolutionCapable key set to False. See bold lines below, these are the ones added.

    <key>NSPrincipalClass</key>
    <string>NSApplication</string>
    <key>NSHighResolutionCapable</key>
    <string>False</string>
    <key>CFBundleIconFile</key>
    <string></string>

Top


On Sierra, apps may get quarantined - (http://lapcatsoftware.com/articles/app-translocation.html): Starting with macOS Sierra, running a newly-downloaded app from a disk image, archive, or the Downloads directory will cause Gatekeeper to isolate that app at a unspecified read-only location in the filesystem. This will prevent the app from accessing code or content using relative paths.

Fix from Charlotte Brassey -
Remove the quarantine attribute from the .app files in terminal
sudo xattr -r -d com.apple.quarantine […].app

Top