{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Index","text":"
\u4e2d\u6587\u6587\u6863
"},{"location":"#bioxel-nodes","title":"Bioxel Nodes","text":"Bioxel Nodes is a Blender add-on for scientific volumetric data visualization. It using Blender's powerful Geometry Nodes | Cycles to process and render volumetric data.
"},{"location":"#about","title":"About","text":"Before us, there have been many tutorials and add-ons for importing volumetric data into Blender. However, we found that there were many details that were not addressed in place, some scientific facts were ignored, and the volume rendering was not pretty enough. With Bioxel Nodes, you can easily import the volumetric data into Blender, and more importantly, it can quickly make a beautiful realistic rendering of it.
Below are some examples with Bioxel Nodes. Thanks to Cycles Render, the volumetric data can be rendered with great detail:
The \"Bioxel\" in \"BioxelNodes\", is a combination of the words \"Bio-\" and \"Voxel\". Bioxel is a voxel that stores biological data. The volumetric data made up of Bioxel is called Bioxels. We are developing a toolkit around Bioxels for better biological data visualization. but before its release, we made this Blender version of bioxels toolkit first, in order to let more people to have fun with volumetric data. Getting Started
"},{"location":"#supported-format","title":"Supported Format","text":"Format EXT Test DICOM .dcm, .DICOM \u2705 pass BMP .bmp, .BMP \u2705 pass JPEG .jpg, .JPG, .jpeg, .JPEG \u2705 pass PNG .png, .PNG \u2705 pass TIFF .tif, .TIF, .tiff, .TIFF \u2705 pass Nifti .nia, .nii, .nii.gz, .hdr, .img, .img.gz \u2705 pass Nrrd .nrrd, .nhdr \u2705 pass Meta .mha, .mhd yet HDF5 .hdf, .h4, .hdf4, .he2, .h5, .hdf5, .he5 \u2705 pass VTK .vtk yet BioRad .PIC, .pic yet Gipl .gipl, .gipl.gz yet LSM .lsm, .LSM yet MINC .mnc, .MNC yet MRC .mrc, .rec yet"},{"location":"#known-limitations","title":"Known limitations","text":"File > Import > Volume Data as Biovels
"},{"location":"features/#resample","title":"Resample","text":"Sometimes the original data is too big, or the spacing in the original data is not reasonable, you can modify the Bioxel Size and Original Spacing to adjust the Shape of the Bixoels.
A bioxel is like a pixel, the larger the Bioxel Size, the lower the resolution of the image, Original Spacing will be read from the original data record, but sometimes the image doesn't have original spacing, you may need to input it manually to get the correct shape.
In some cases the environment value is higher than the value of the target object, you can check Invert Scalar to adjust the value for better result.
Many AI segmentation task datasets, provide segmentation data, which are often an integer value representing a layer of segmentation labels. You can set the Label Index to determine exactly which labels to load.
"},{"location":"features/#as-vector-not-implemented","title":"as Vector (Not implemented)","text":""},{"location":"features/#as-color-not-implemented","title":"as Color (Not implemented)","text":""},{"location":"features/#others","title":"Others","text":""},{"location":"features/#convert-bioxels-to-mesh","title":"Convert Bioxels to Mesh","text":"In 3D view, select bioxels and right-click, Bioxels > Bioxels To Mesh
"},{"location":"features/#export-biovels-as-vdb","title":"Export Biovels as VDB","text":"File > Export > Biovels as VDB
"},{"location":"getting-started/","title":"Getting Started","text":"Currently only support Blender 4.0 or above, make sure you have the correct version of Blender.
"},{"location":"getting-started/#add-on-installation","title":"Add-on Installation","text":"Download the latest version https://github.com/OmooLab/BioxelNodes/releases/latest In Blender, Edit > Preferences > Add-ons > Install, select the BioxelNodes_{version}.zip you just downloaded.
The add-on requires a third-party python dependency called SimpleITK, click Install SimpleITK button below to install the dependency. After clicking, blender may get stuck, it is downloading and installing, just wait for a moment. After that, click Reboot Blender button.
This step may have failed due to network factors, just click \"Set PyPI Mirror\" to change the mirror.
"},{"location":"getting-started/#prepare-your-data","title":"Prepare Your Data","text":"First you need to have your volumetric data ready. If not, you can access open research data from list below\uff1a
Source Object Dryad Open Research Data OpenOrganelle Cells Embodi3D Medical Images Github Medical Images NIHR Medical Images Medical Segmentation Decathlon Medical Images Allen Cell Explorer Cells Visible Human Project Medical Images"},{"location":"getting-started/#import-volume-data","title":"Import Volume Data","text":"File > Import > Volume Data as Bioxels, select one of the .dcm files and click on \"Volume Data as Bioxels\" (you can also drag one of the .dcm files directly into the 3D viewport to trigger the import)
It may take a while to read data. After finishing reading, it will pop up a dialog box
Ignore the options, just click OK!
After importing, the necessary nodes are automatically added, the reconstruction and shader are created. Click select Bioxels Object, and open the Geometry Nodes panel, change the \"Threshold\" in segment node.
and then turned on the cycles rendering to directly see the result.
You can change the \"Threshold\" to modify the reconstruction model, or change the \"Color\", \"Density\" to modify the shader effect. All the parameters are straightforward, you can understand them by changing the values.
"},{"location":"getting-started/#share-your-file","title":"Share Your File","text":"The VDB cache and the Bioxel nodes are not reachable to computers if you don't save them. If you need to give your blender file to someone else, you will need to perform the following steps:
After that, both the VDB cache and the Bioxel nodes are stored in relative locations. When you share a file with someone, pack the entire directory so that the resources are not lost. The other person will be able to load correctly, regardless of whether they have BioxelNodes installed.
"},{"location":"misc/","title":"Future Features","text":"Bioxels is based on the RAS coordinate system, Right Aanterior Superior, which was chosen over LPS because it is more compatible with most 3D CG software coordinate systems, and is in line with the 3D artist's understanding of space.
All distances within Bioxels are in Units, and are specified in Meter pre unit. However, when Bioxels is imported into 3D CG software, its size in the software is not scaled by reading the Meter pre unit directly. The reason for this is that many 3D operations in software require that the primtives not be too large or too small.
"},{"location":"misc/#based-on-openvdb","title":"Based on OpenVDB","text":"Bioxels is based entirely on OpenVDB for storage and rendering. The main reason for choosing OpenVDB is that as a volumetric data format, it is the fastest way to work with most CG renderers.
"},{"location":"misc/#based-on-geometry-nodes","title":"Based on Geometry Nodes","text":"Bioxel Nodes relies on Blender Geometry Nodes to reconstruct and render volumetric data. Node-based operations ensure that the original data is not permanently altered during reconstruction and rendering operations. The fact that the processing is based on Geometry Nodes without any additional dependencies also ensures that Blender can open files without this plugin installed. Look for more support for OpenVDB in GeometryNodes so that Bioxel Nodes can do more in the future.
"},{"location":"nodes/","title":"Geometry Nodes","text":"The node, that named \"Segment\", is a preset node that combines the steps of 3D reconstruction process and shading process. In general, you need to add one of the segmentation node to reconstruction first, and followed by one of the shader node to set the shader. As you can see in the following figure:
Currently there are 3 types of nodes
For example:
You can add a \"Bake\" node between segmentation node and shader node, if the reconstruction process consumes too much computing time. But be sure, you are selecting the volume object, not the container object.
"}]}