How to exclude the surface data?

84 views
Skip to first unread message

Willy Chueh

unread,
Sep 21, 2026, 4:28:28 AMSep 21
to dream3d-users
Hello everyone,

My research investigates 3D grain boundary characteristics, such as GBCD and GBPD. I am currently trying to analyze the grain boundary specifically between FeatureID=1 and FeatureID=2. However, I am unsure how to exclude the exterior surface data so that I can isolate only the internal grain boundary data between these two features.

Furthermore, if I have a dataset containing many grains but still only want to extract the boundary data between Feature ID 1 and Feature ID 2, would the same solution apply?

Any advice or guidance would be greatly appreciated. Thanks in advance!

Best regrads, 
Willy Chueh

Willy Chueh

unread,
Sep 30, 2026, 11:22:10 AM (9 days ago) Sep 30
to dream3d-users
Hello everyone,

My research investigates 3D grain boundary characteristics, such as GBCD and GBPD. I am currently trying to analyze the grain boundary specifically between FeatureID=1 and FeatureID=2. However, I am unsure how to exclude the exterior surface data so that I can isolate only the internal grain boundary data between these two features.

Furthermore, if I have a dataset containing many grains but still only want to extract the boundary data between Feature ID 1 and Feature ID 2, would the same solution apply?

Any advice or guidance would be greatly appreciated. Thanks in advance! Really need help😢😢😢

Best regrads, 
Willy Chueh

Michael Jackson

unread,
Sep 30, 2026, 3:10:06 PM (9 days ago) Sep 30
to Willy Chueh, dream3d-users
Dear Willy,
     How DREAM3D-NX stores grain information in the triangle mesh is in the “Face Labels” Array. That array has 2 components which list the pair of Grain Ids (FeatureIds) that the triangle shares. The trick is to figure out a way to extract just those triangles that have a Face Label that has for its component values either “1” and “2” or “2” and “1”. 

… goes off and figures this out….


The pipeline I created is attached. Essentially what I did was to use the following:

Multi-Threshold Objects filter:
   I use the “Face Labels” component 0 = 131 and component 1 = 170. (in my case, yours will be the smaller of the 2 feature ids that you are interested in)
   I also use a “Custom TRUE Value” = 0 and a “Custom False Value” = 1. I do this because I want to remove all triangles that do NOT meet this criteria so I essentially flip the mask while creating the mask.

Remove Flagged Triangles
 You then feed the “Triangle Data Container” into this filter with the mask that I just created in the previous filter to generate a brand new Triangle Geometry. I also copy over all the vertex and face data.

Compute GBCD
   You then use this reduced Triangle Geometry to compute the GBCD and then generate the GBCD Pole Figures. You could then export the needed GBCD data at this point using any of the “Write” filters.
   

—
Mike Jackson                    mike.j...@bluequartz.net
BlueQuartz Software         www.bluequartz.net
President/Owner               Dayton, Ohio



--
You received this message because you are subscribed to the Google Groups "dream3d-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dream3d-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dream3d-users/8f63a21c-f74b-4c4a-a427-eee8af8e6e3dn%40googlegroups.com.
GBCD_Between_2_Features.d3dpipeline

Jack

unread,
Sep 30, 2026, 5:14:04 PM (9 days ago) Sep 30
to Michael Jackson, Willy Chueh, dream3d-users
I have a pipeline to sort this problem but I am publishing it in my PhD thesis

Michael Jackson

unread,
Oct 1, 2026, 10:43:17 AM (8 days ago) Oct 1
to Jack, Willy Chueh, dream3d-users
Dear Jack,
     We look forward to seeing how you have solved the problem.
--

Mike Jackson                    mike.j...@bluequartz.net
BlueQuartz Software         www.bluequartz.net
President/Owner               Dayton, Ohio

Reply all
Reply to author
Forward
0 new messages