Compare segmentation of basalt datasets from two X-ray energies ================================================================================== .. note:: Filename: GL01_[5,6,7]_[28,38]k_{650,650,515}_uint16.bin (one of six datasets: 3 samples and two X-ray energies) volume = {650,650,515}, x-fastest, pixel size = 5.67 |micro| m, file size = 0.44 GB .. |micro| unicode:: 181 :rtrim: Segment ---------------------------------------------------------- #. open data GL01_6_28k_{650,650,515}_uint16.bin and GL01_5_38k_{650,650,515}_uint16.bin, attach orthoslice to both datasets, choose the same slice number and orientation, have a look. Use a lineprobe to profile the two datasets at the same line position. #. click on data GL01_6_28k_{650,650,515}_uint16.bin, use Measure -> Histogram to see data value distribution, tune the data window of orthoslice to see the value - data correspondence. #. Make sense to apply median or guassian filter to remove noise before proceed to segmentation. In this example, we use ImageFilters->Smoothing:Median, set parameter to be 3, apply. A .filtered data object will be created. Use orthoslice data window to find proper threshold data values for different mineral phases. #. In this tutorial we segment one phase at a time, intead of trying to segment multiple phases at once. #. Click the data object, choose Image Segmentation->Multi-Thresholding, set Regions to be "exterior other p1", set corresponding threshold values: 34000, 37000, apply. A .label data object is created. click the .label data object, then click the Image Segmentation icon in the Properties panel to open the segmentation editor. Delete the "other" and "bubble" meterials, and keep meterial"p1". Assign different colors to materials if necessary. #. In segmentation editor, use zoom icon in "Zoom and Data Window" section to adjust window size. Use the "cross hair" tool to connect the three cross sections. Use "brush" or "magic wand" tool to **manually** fix individual selections in "p1" material where you see fit, e.g. assign some unselected (data value lower than 37000) gains to "p1" meterial. #. Some **automatic** segmenation you can do from the menu: segmentation->fill holes, remove islands, and smooth labels. Be careful to apply these commands to either single slice, all slices, or 3D volume. Another important **semi-automatic** method is interpolate selection through multiple slices. Use menu: selection->Interpolate. #. Repeat the manual and automatic segmentation commands until the phase1 material looks clean and complete. Generate a surface view of the labelfield data object. .. image:: vizsoftware/basalt-phase1.png :width: 300px #. click the label data object, save the label field data by file -> save data as, save to Avizo data format, or Raw data format. #. Now let's do the second mineral phase. Click the data object, choose Image Segmentation->Multi-Thresholding, set Regions to be "exterior p2 other", set corresponding threshold values: 34000, 35000, apply. A .label data object is created. click the .label data object, then click the Image Segmentation icon in the Properties panel to open the segmentation editor. Delete the "other" and "bubble" meterials, and keep meterial"p2". #. Repeat the manual and automatic segmentation commands until the phase2 material looks clean and complete. Generate a surface view of the labelfield data object. .. image:: vizsoftware/basalt-phase2.png :width: 300px #. click the label data object, save the label field data by file -> save data as, save as both Avizo data format and Raw data format. #. Because we choose to segment one mineral phase at a time, now we'll merge two label fields into a single label field, use the the compute -> Arithmetic module with two inputs and expression as ”A | (B*2)”. Now you can visualize the two mineral together. Save the merged label data. .. image:: vizsoftware/basalt-label.png :width: 300px #. measure the two phase label field by Measure -> MaterialStatistic #. Note: We segment on the assumption that there are two mineral phases. There actually could be more phases. For example, data value range 36000 to 37000 and data value above 37000 could be two phases, whereas here we include them both as phase1. .. image:: vizsoftware/basalt-slice.png :width: 300px #. Repeat the segmenation to data GL01_6_38k_{650,650,515}_uint16.bin, also save the phase label fields.