It is currently Sat Aug 22, 2020 12:26 pm


All times are UTC




Post new topic Reply to topic  [ 67 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7
Author Message
 Post subject: Re: 3D surface reconstruction for volumetric voxel data
PostPosted: Sun Mar 22, 2009 11:18 pm 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Are you sure about this? In my OpenGL example (and also in Thermite) world space and volume space are the same thing. The volume never moves - it also always goes from (0,0,0) to (256,256,256) or however big the volume is.

When rendering, the GL_MODELVIEW_MATRIX is set so that the volume appears in the center of the window, but I haven't actually changed the position of any vertices. Hence it should still be possible to perform collision detection against the world space / volume space positions.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: 3D surface reconstruction for volumetric voxel data
PostPosted: Mon Mar 23, 2009 5:28 pm 

Joined: Sun Feb 01, 2009 3:18 pm
Posts: 34
Quote:
Are you sure about this? In my OpenGL example (and also in Thermite) world space and volume space are the same thing. The volume never moves - it also always goes from (0,0,0) to (256,256,256)

Yes . you are correct :The volume never moves.

Quote:
or however bight eh volume is.


I don't understand what you mentioned here!

Quote:
When rendering, the GL_MODELVIEW_MATRIX is set so that the volume appears in the center of the window, but I haven't actually changed the position of any vertices. Hence it should still be possible to perform collision detection against the world space / volume space positions.

Yeah it possible to do the collision , we should use matrix from GL_MODELVIEW_MATRIX.!


Top
Offline Profile  
Reply with quote  
 Post subject: Re: 3D surface reconstruction for volumetric voxel data
PostPosted: Mon Mar 23, 2009 6:51 pm 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Gajananan wrote:
Quote:
or however bight eh volume is.


I don't understand what you mentioned here!


Sorry, I was typing too fast :) I meant "or however big the volume is".

Gajananan wrote:
Quote:
When rendering, the GL_MODELVIEW_MATRIX is set so that the volume appears in the center of the window, but I haven't actually changed the position of any vertices. Hence it should still be possible to perform collision detection against the world space / volume space positions.

Yeah it possible to do the collision , we should use matrix from GL_MODELVIEW_MATRIX.!

But if your volume never moves then why do you have to use this matrix? The volume is already in world space and this should be where you are doing your collision detection. The GL_MODELVIEW_MATRIX is only used for rendering and shouldn't be related to collision detection. It's great you have a solution that works, but I'm just wondering if you are doing things in a more complex way than necessary.

As for your email question, well unfortunatly there is no real way to convert density values into stiffness. I think the best you can do is to use the density value to convert into a particular material and then use a known stiffness for that material. For example, you recieve a density value of 500HU. You know this corresponds to bone, so you use some other reference table (which you will have to create) which tells you what the stiffness of bone is.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: 3D surface reconstruction for volumetric voxel data
PostPosted: Tue Mar 24, 2009 11:57 am 

Joined: Sun Feb 01, 2009 3:18 pm
Posts: 34
Quote:
But if your volume never moves then why do you have to use this matrix? The volume is already in world space and this should be where you are doing your collision detection. The GL_MODELVIEW_MATRIX is only used for rendering and shouldn't be related to collision detection.


I don't move volumes but I am transforming using rotation and translation to align the model at the origin and vertical.
Actually I am using this with Haptic device - represented by a moving virtual tool, if I transform the model I have to use the matrix to multiply the coordinates that represent the virtual tool .. this is how collision works.
When I compute the force , this is done in model space.. should be transform back to world space ,here I need to use "ALONE" rotation matrix .. no need to use translation matrix..

Quote:
but I'm just wondering if you are doing things in a more complex way than necessary.

Yeah :) .. I am doing some complex work!

Quote:
As for your email question, well unfortunatly there is no real way to convert density values into stiffness.

I have read papers which say density is proportional to stiffness but I don't have equation to convert that ....

Quote:
For example, you recieve a density value of 500HU. You know this corresponds to bone, so you use some other reference table (which you will have to create) which tells you what the stiffness of bone is.

I think I need to consult some domain expert to find this information!

thanks for your reply anyway!~

I have one more question : is it possible to keep track of voxel in Polyvox?
say I want to assign voxel an ID when I store it,. later I should be able to get ID back when I get back the voxel.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: 3D surface reconstruction for volumetric voxel data
PostPosted: Tue Mar 24, 2009 9:59 pm 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Gajananan wrote:
Quote:
As for your email question, well unfortunatly there is no real way to convert density values into stiffness.

I have read papers which say density is proportional to stiffness but I don't have equation to convert that ....


I'm not so sure. For example, water is more dense than wood, and yet wood is clearly more stiff. It's a silly example of course, but you see my point ;)

Gajananan wrote:
I have one more question : is it possible to keep track of voxel in Polyvox?
say I want to assign voxel an ID when I store it,. later I should be able to get ID back when I get back the voxel.

Currently I think the easiest way you could do this would be to create two copies of the PolyVox volume and only modify one of them. The you could look at the other when you wanted to know what the original value was. Beyond that PolyVox has no support for this. Not sure if/how that will change in the future...


Top
Offline Profile  
Reply with quote  
 Post subject: Re: 3D surface reconstruction for volumetric voxel data
PostPosted: Wed May 06, 2009 11:36 am 

Joined: Sun Feb 01, 2009 3:18 pm
Posts: 34
Hi,

I came across two problems when modifying the 3d model

1. Left overs - After I completely destroyed the 3d model , still there are left overs remains - see the figure 1- I am not sure why this happened
Attachment:
LeftOver.JPG
LeftOver.JPG [ 4.47 KiB | Viewed 2986 times ]

2. While modifying the 3D model, some artifacts appears , hear artifacts mean something like black square...but it disappear when i try to modify the same area.

Attachment:
Artifacts1.JPG
Artifacts1.JPG [ 7.13 KiB | Viewed 2985 times ]


after some artifacts disappeared

Attachment:
Artififactsremoved.JPG
Artififactsremoved.JPG [ 6.76 KiB | Viewed 2985 times ]


Do you have any idea what is going on?

Best
Gajan


Top
Offline Profile  
Reply with quote  
 Post subject: Re: 3D surface reconstruction for volumetric voxel data
PostPosted: Thu May 07, 2009 7:06 pm 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Well, I don't have a direct answer but we can do some investigation. In both cases we need to determine whether it is the volume data which is incorrect, or whether there is a bug in the marching cubes algorithm. Well, I know for sure there are bugs in the Marching Cubes, it's something I've been working on for the past couple of weeks.

For the first problem, I think it is likely that some regions are not having their meshes regenerated after they have been modified. Try writing a loop which regenerates the meshes for all regions. Do the remaining polygons dissapear?

Actually, you should do the same for the second problem, but I'm not sure it will help. It could well be a bug in the algorithm...

Are you able to upgrade to the latest version of PolyVox? Be aware that a lot of class and function names have changed, and there is no longer an example with GLUT (the new example uses Qt). You can still use GLUT yourself, of course. But all the principles are the same, so it shouldn't take you long to work it out.


Top
Offline Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 67 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7

All times are UTC


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net