Skip to content

Commit

Permalink
Merge pull request #15 from OmooLab/feature/dev
Browse files Browse the repository at this point in the history
Feature/dev
  • Loading branch information
icrdr authored May 30, 2024
2 parents e929013 + f21f7d6 commit 56606fd
Show file tree
Hide file tree
Showing 57 changed files with 1,437 additions and 525 deletions.
25 changes: 19 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@

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.

# About
## About

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:

![gallery](docs/assets/gallery.png)

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](https://omoolab.github.io/BioxelNodes/latest/getting-started)
The "Bioxel" in "Bioxel Nodes", is a combination of the words "Bio-" and "Voxel". Bioxel is a voxel that stores biological data. We are developing a toolkit around Bioxel 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](https://omoolab.github.io/BioxelNodes/latest/getting-started)

# Supported Format
## Supported Format

| Format | EXT | Test |
| ------ | ---------------------------------------- | ------- |
Expand All @@ -39,7 +39,20 @@ The "Bioxel" in "BioxelNodes", is a combination of the words "Bio-" and "Voxel".
| MINC | .mnc, .MNC | yet |
| MRC | .mrc, .rec | yet |

# Known limitations
## Known Limitations

- Sections cannot be generated
- Time sequence volume not supported (will be supported soon)
- Sections cannot be generated (will be supported soon)
- Time sequence volume not supported (will be supported soon)

## To Upgrade Add-on

To upgrade from an older version of the add-on to the latest, you need to do the following:

1. Remove the old version of Bioxel Nodes at Preferences > Add-ons
2. Add the new version and restart Blender.

It is not support editing the same blender file across add-on versions. In order to make sure that the previous file works properly. You need to save the staged data before upgrading ( read the last section of [Getting Started](https://omoolab.github.io/BioxelNodes/latest/getting-started/#share-your-file) ).

But even then, there is still no guarantee that the new version of the add-on will work on the old blender file. Therefore, it is highly recommended to open a new blender file to start the creating, not based on the old one.

Alternatively, objects from the old file that have nothing to do with Bioxel Nodes could be append to the new blender file.
6 changes: 3 additions & 3 deletions bioxelnodes/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"author": "Ma Nan",
"description": "",
"blender": (4, 0, 0),
"version": (0, 1, 1),
"version": (0, 2, 0),
"location": "File -> Import",
"warning": "",
"category": "Node"
Expand All @@ -21,8 +21,8 @@
def register():
auto_load.register()
menus.add()
bpy.types.Scene.bioxels_dir = bpy.props.StringProperty(
name="Bioxels Directory",
bpy.types.Scene.bioxel_layer_dir = bpy.props.StringProperty(
name="Bioxel Layers Directory",
subtype='DIR_PATH',
default="//"
)
Expand Down
4 changes: 2 additions & 2 deletions bioxelnodes/assets/Nodes/BioxelNodes_4.0.blend
Git LFS file not shown
4 changes: 2 additions & 2 deletions bioxelnodes/assets/Nodes/BioxelNodes_4.1.blend
Git LFS file not shown
57 changes: 0 additions & 57 deletions bioxelnodes/convert.py

This file was deleted.

7 changes: 5 additions & 2 deletions bioxelnodes/customnodes/menus.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,13 @@ def draw(self, context):
def _find_item(self, found_items, menu_items, node_type: str):

for item in menu_items:
if item == 'separator':
continue

if item.get("node_type") == node_type:
found_items.append(item)

item_items = item.get('items') if item != 'separator' else None
item_items = item.get('items')
if item_items:
self._find_item(found_items, item_items, node_type)

Expand All @@ -169,7 +172,7 @@ def add_node(self, node_tree, node_type: str):
op.node_callback = item.get('node_callback') or ""
return op.add_node(node_tree)
else:
raise RuntimeError("No custom node type found.")
raise RuntimeError("Not found in menu.")

def register(self):
for cls in self.menu_classes:
Expand Down
Loading

0 comments on commit 56606fd

Please sign in to comment.