3D signed distance transform
    7 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Erhong
 am 13 Apr. 2011
  
    
    
    
    
    Kommentiert: Ziwei Wu
 am 28 Nov. 2016
            Hi, I need to do some signed 3D Euclidean distance transform, and need the distance to be negative inside a closed surface. The 3D Euclidean Distance Transform for Variable Data Aspect Ratio in file exchange works well, but it only provides positive distance for all points that are not on the closed surface. Now I need to detect if a given point is inside the closed surface or not. Any hint to tell if a point is inside the closed surface? Or to signed 3D distance transform? Any help will be immensely appreciated. Erhong
1 Kommentar
  Ziwei Wu
 am 28 Nov. 2016
				Hi Erhong, I am trying to make a 3D shape model using signed distance function but there are always some problems with my code. Would it be possible for you to share your code to me? Or just give me some hint of your idea? Thank you so much!
Akzeptierte Antwort
  Sean de Wolski
      
      
 am 13 Apr. 2011
        You could separately create a map of points inside a closed surface.
M = imfill(bw_image,'holes');
Now anything true in M will be inside a closed surface in bw_image.
D = your_distance_transform;
D(M) = -D(M);
3 Kommentare
  Sean de Wolski
      
      
 am 14 Apr. 2011
				M should be a logical 3-dimensional array.
Please tell me what the output from these commands is:
class(M)
size(M)
Thus D (your distance transform matrix) should be of class double and the same size as M.
Then the indexing assignment D(M) = -D(M) will work.
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


