Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Guidance Needed for Smoothing Stepped Grain Boundaries in DREAM3DNX Model

98 views
Skip to first unread message

Aarya Sathe

unread,
Dec 26, 2024, 10:18:35 AM12/26/24
to dream3d-users
Hi Michael 

I have created a pipeline using DREAM3DNX, but the grains in my model have stepped grain boundaries (observing staircasing effect) and very irregular grain boundary (as seen the picture), which are not desired. To address this, I attempted to smooth the grain boundaries using a quick surface mesh followed by the Laplacian smoothing algorithm. However, the results were not satisfactory. My voxel size is 1 um in x,1 um in y and 0.5um in z. 

I have attached the pipeline I used for your reference. Could you please guide me on how to proceed further to achieve smoother grain boundaries in the model. Additional how many iterations of Laplacian smoothing would be required to get an effect result?

Screenshot 2024-12-26 204215.png
25-12-25-1.d3dpipeline

Michael Jackson

unread,
Dec 27, 2024, 11:46:41 AM12/27/24
to Aarya Sathe, dream3d-users
Dear Aarya Sathe, 
    It looks like you need to perform an “Alignment” of the various slices. You can see and example of this in the “(08) Small IN100 Full Reconstruction” example pipeline. Specifically filters 4, 5, and 6. From your pipeline it looks like you have added the “Align Sections (Misorientation)” already. You might give the “Align Sections (Feature Centroid)” a try.

If that does not work I wouldn’t mind getting a copy of your data so I can try a few ideas here at the office. 

--
Mike Jackson                    mike.j...@bluequartz.net
BlueQuartz Software         www.bluequartz.net
President/Owner               Dayton, Ohio
Principal DREAM.3D Developer


--
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/0a49329f-dee6-4d1c-9c88-5bdf906529e0n%40googlegroups.com.

Aarya Sathe

unread,
Jan 3, 2025, 7:22:55 AMJan 3
to dream3d-users

Dear Mickael,

I attempted smoothing the grain boundaries using filters 4, 5, and 6 from the example pipeline, followed by a quick surface mesh and the Laplacian smoothing algorithm. However, the results were not satisfactory, as the staircasing effect persists.

To assist in addressing this issue, I have shared a Google Drive link containing the data I used along with my original pipeline for your reference:
https://drive.google.com/file/d/1H4ZQFA3LyZViWuWoThuif3sgF7bJk4tv/view?usp=sharing

Please let me know if you require any additional details or files. I truly appreciate your offer to explore a few ideas to help reduce the staircasing effect and improve the results.

Thank you for your support.

dream 3d pipeline with filters 4,5,6 .d3dpipeline
25-12-25.d3dpipeline

Michael Jackson

unread,
Jan 5, 2025, 8:31:36 PMJan 5
to Aarya Sathe, dream3d-users
Dear Aarya, 
    I took a look at your data slice by slice and I believe there to be some rotation of the sample from slice to slice. Specifically from slice 56 to 57 in the X/Y max location moves less relative to the min X/Max Y location when you alternate between those slices. If there was in fact a rotation of the sample during the serial sectioning then you would have to come up with an algorithm that could “align” the slices through a more sophisticated algorithm. Also there may be a “Stretching” effect between some of the slices, again specifically between slices 65 and 66. 

I think slices 68 and 69 are the same slice (think or there was very little material removal between slices).

Slices 16 and 17 also look like they have a distortion between them and not just a translation shift.


Could you tell me how the serial sectioning was performed? Was this by hand or by a machine like a RoboMet or Plasma FIB? Was the data processed in any way before the data was stored into the .h5ebsd file? Was there processing performed in the OIM Analysis before exporting the data as .ang files? 

--
Mike Jackson                    mike.j...@bluequartz.net
BlueQuartz Software         www.bluequartz.net
President/Owner               Dayton, Ohio
Principal DREAM.3D Developer


Aarya Sathe

unread,
Feb 3, 2025, 11:59:06 PM (6 days ago) Feb 3
to dream3d-users
Dear Michael

The serial sectioning was performed by hand using the Multiprep polishing machine, removing a layer thickness of 0.5 microns. The data was then processed using batch processing in TSL OIM software before being exported as .ang files.

I am currently trying to develop a Python plugin to rotate the slices relative to each other to reduce the staircasing effect. Do you have any suggestions or best practices to minimize this issue? Would any filter help in smoothing the grain boundary? i have tried using 4, 5, and 6 from the example pipeline but they didn't really give any results, would increasing iterations give a better result?

Thanking You

Aarya


Michael Jackson

unread,
Feb 4, 2025, 8:36:38 AM (5 days ago) Feb 4
to Aarya Sathe, dream3d-users
Dear Aarya, 
     DREAM3D was developed to reconstruct 3D slices that were acquired by a highly reproducible process, i.e., something like a RoboMet or FIB. This helped reduce the degrees of freedom down to a simple XY translation. In this way DREAM3D really only has filters that are appropriate for data with XY translations. My guess is that a library such as ITK or OpenCV would have the necessary filters to possibly reduce the slice to slice distortions. Once you have the distortions removed and the data stacked then DREAM3D can pick up from that point.
    If you do develop a set of filters that can do this kind of correction please consider contributing those to the DREAM3D community and the microscopy community as a whole.

--
Mike Jackson                    mike.j...@bluequartz.net
BlueQuartz Software         www.bluequartz.net
President/Owner               Dayton, Ohio
Principal DREAM.3D Developer


Aarya Sathe

unread,
Feb 5, 2025, 5:14:32 AM (5 days ago) Feb 5
to dream3d-users
Dear  Michael

I understand that DREAM3D is primarily designed for datasets with simple XY translations. I will try developing a code to address the slice-to-slice distortion issue.Would it be possible for me to access the code written for other filters in Python and make modifications, or would I need to write the code from scratch?

Thanking you 
Aarya

Michael Jackson

unread,
Feb 5, 2025, 9:15:26 AM (4 days ago) Feb 5
to Aarya Sathe, dream3d-users
Dear Aarya, 
      You can execute any DREAM3D filter from python. The source code is at https://www.github.com/bluequartzsoftware/simplnx The DREAM3D-NX user interface code is not open source.

--
Mike Jackson                    mike.j...@bluequartz.net
BlueQuartz Software         www.bluequartz.net
President/Owner               Dayton, Ohio
Principal DREAM.3D Developer


Reply all
Reply to author
Forward
0 new messages