nci / drishti

Drishti
MIT License
171 stars 39 forks source link

Tutorial file block_flow.pvl.nc does not correctly describe the image block_flow.pvl.nc.001 #45

Closed neurolabusc closed 4 years ago

neurolabusc commented 4 years ago

Thanks for providing thorough Tutorials and Sample Dataset. However, the file block_flow.pvl.nc incorrectly reports

<voxeltype>unsigned short</voxeltype>

However, this should be

<voxeltype>unsigned char</voxeltype>

To match the provided image image block_flow.pvl.nc.001, as can be determined by both the file size and first byte of block_flow.pvl.nc.001 in order to fit the format described here and here.

AjayLimaye commented 4 years ago

Hi Chris,

refers to voxeltype of the original dataset from which the preprocessed volume was generated. refers to voxeltype of the preprocessed volume (unsigned char if not specified). Cheers, Ajay On Sat, Jul 4, 2020 at 1:48 AM Chris Rorden wrote: > Thanks for providing thorough Tutorials and Sample Dataset > . > However, the file block_flow.pvl.nc incorrectly reports > > unsigned short

However, this should be

unsigned char

To match the provided image image block_flow.pvl.nc.001, as can be determined by both the file size and first byte of block_flow.pvl.nc.001 in order to fit the format described here http://paulbourke.net/dataformats/pvl/ and here https://github.com/nci/drishti/wiki/file-format---.pvl.nc.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nci/drishti/issues/45, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMVVLUFTKPMXMUNTG4C34LRZX4TBANCNFSM4OP5G5FA .

--

Ajay Limaye

VIsualization Programmer, NCI Australia http://www.nci.org.au/

The Australian National University

143 Ward Road

Acton, ACT, 2601

T: +61 2 6125 4616

Want the latest news http://nci.org.au/research-news/news/ from NCI?

Find out more about NCI: YouTube http://www.youtube.com/user/NCINationalFacility / Facebook https://www.facebook.com/NCIAustralia/ / Twitter https://twitter.com/NCInews / LinkedIn https://www.linkedin.com/company/national-computational-infrastructure/

[image: cid:image002.png@01D449EE.B750D8C0]

neurolabusc commented 4 years ago

Ajay,

This explains my confusion. Can I suggest you update the documentation to make these properties explicit.

I have created a pre-release of MRIcroGL which should provide drag-and-drop support for Drishti .pvl.nc images. Each tool fits a different niche, but since both are free the user can choose the best tool for their situation. Dristhi is particularly well suited to huge volumes (MRIcroGL's gradients use a lot of GPU memory) and the multiple transfer functions are useful when you want to observe tissues of different intensities in the same scan.

Using Drishti got me thinking about this problem. The basic issue is that a medium brightness voxel is likely to be an artifact of partial volume effect if it has a high gradient. A less sophisticated solution to multiple transfer functions is to modulate the opacity based on image voxel intensity and gradient. This seems related but slightly different from boundary enhancement. I created a simple slider that uses Schlick's bias function to correct this. This gives the user a simple slider to tune this effect. It is certainly not as comprehensive as the Drishti solution, but it can help. Here is an example with a typical CT scan. The left panel is traditional single-transfer function rendering and the right modulates the opacity based on the gradient (reducing the banding in the forehead):.

tomography

With the pre-release software, you can experiment with this using the provided low-resolution version of this scan (CT_Philips), illustrated by the following script (with the edgeHardness slider in the user interface adjusting this parameter):

import gl
gl.resetdefaults()
gl.loadimage('CT_Philips')
gl.colorname(0,'CT_Muscles')
gl.shadername('Tomography2')
gl.shaderadjust('edgeHardness', 0.3)

Anyway, thanks for the inspiration. Drishti provides some really unique tools to users with a clean, interactive user interface.

AjayLimaye commented 4 years ago

Nice work with MRIcroGL. Cheers, Ajay

On Tue, Jul 7, 2020 at 2:25 AM Chris Rorden notifications@github.com wrote:

Ajay,

This explains my confusion. Can I suggest you update the documentation https://github.com/nci/drishti/wiki/file-format---.pvl.nc to make these properties explicit.

I have created a pre-release of MRIcroGL https://github.com/rordenlab/MRIcroGL12/releases/tag/v1.2.20200707 which should provide drag-and-drop support for Drishti .pvl.nc images. Each tool fits a different niche, but since both are free the user can choose the best tool for their situation. Dristhi is particularly well suited to huge volumes (MRIcroGL's gradients use a lot of GPU memory) and the multiple transfer functions are useful when you want to observe tissues of different intensities in the same scan.

Using Drishti got me thinking about this problem. The basic issue is that a medium brightness voxel is likely to be an artifact of partial volume effect if it has a high gradient. A less sophisticated solution to multiple transfer functions is to modulate the opacity based on image voxel intensity and gradient. This seems related but slightly different from boundary enhancement https://www.csee.umbc.edu/~ebert/npr/volillus.pdf. I created a simple slider that uses Schlick's bias function http://demofox.org/biasgain.html to correct this. This gives the user a simple slider to tune this effect. It is certainly not as comprehensive as the Drishti solution, but it can help. Here is an example with a typical CT scan https://www.nitrc.org/plugins/mwiki/index.php/dcm2nii:MainPage#Computed_Tomography_.28CT.2C_CAT.29. The left panel is traditional single-transfer function rendering and the right modulates the opacity based on the gradient (reducing the banding in the forehead):.

[image: tomography] https://user-images.githubusercontent.com/8930807/86615713-d34e5000-bf82-11ea-9ffe-a263b83c1a34.jpg

With the pre-release software, you can experiment with this using the provided low-resolution version of this scan (CT_Philips), illustrated by the following script (with the edgeHardness slider in the user interface adjusting this parameter):

import gl gl.resetdefaults() gl.loadimage('CT_Philips') gl.colorname(0,'CT_Muscles') gl.shadername('Tomography2') gl.shaderadjust('edgeHardness', 0.3)

Anyway, thanks for the inspiration. Drishti provides some really unique tools to users with a clean, interactive user interface.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nci/drishti/issues/45#issuecomment-654338199, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMVVLTRWKCDZLT2CMR52LLR2H3JHANCNFSM4OP5G5FA .