BlueQuartzSoftware / DREAM3D

Data Analysis program and framework for materials science data analytics, based on the managing framework SIMPL framework.
http://dream3d.bluequartz.net
Other
161 stars 76 forks source link

Find Feature Neighbors Filter: NeighborList is not a list #891

Open latmarat opened 5 years ago

latmarat commented 5 years ago

Hello:

I am trying to get a neighbor list for each feature in 3D microstructure using Find Feature Neighbors Filter. However, I get an array of integers (int32) instead of array of lists. Any thoughts what causes the problem?

Thanks, Marat

imikejackson commented 5 years ago

@latmarat The filter will generate 2 new "DataArray"s. The first one as you have seen is an array of integers that has as many tuples as there are Features + 1 in your microstructure. This has a default name of "NumNeighbors". The next Attribute Array that is created is the actual NeighborList that you are probably looking for. It has a default name of "NeighborList". This is an "array of arrays" where the length of each array at a specific tuple index is the value from the first array at that same tuple index.

Depending on what you want to do there are a few ways to get at the data. You can use the "Export Feature Data as CSV File" and check the "Write Neighbor Data" checkbox. The other way is to write out the .dream3d file and directly access the data in the HDF5 file. You will need to understand how we encoded the array of arrays in the HDF5 file to be able to decode the data. Look in NeighborList.hpp inside of SIMPL for the codes.