MCPcopy Index your code
hub / github.com/bene51/3Dscript

github.com/bene51/3Dscript @v0.2.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.4 ↗ · + Follow
1,404 symbols 3,637 edges 104 files 131 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

3Dscript

3Dscript is a plugin for Fiji/ImageJ for creating 3D and 4D animations of microscope data. In contrast to existing 3D visualization packages, animations are not keyframe-based, but are described by a natural language-based syntax.

Find more information at https://bene51.github.io/3Dscript

Requirements:

  • 64-bit Operating System (Linux, Mac OS X or Windows)
  • Up-to-date Fiji installation (http://www.fiji.sc)
  • OpenCL 1.2-capable Graphics Card or better
  • Decent graphics card, preferably from Nvidia or AMD, but newer Intel cards will work also (see below for tested hardware)

Installation:

  • Start Fiji
  • Click on Help>Update...
  • Click on "Manage update sites"
  • Check the box in front of "3Dscript"
  • Click on "Close"
  • Click on "Apply changes"
  • Restart Fiji
  • Installation typically takes not longer than a couple of minutes

Demo:

  • Start Fiji
  • Click on File>Open Samples>T1 Head
  • Click on Plugins>3D script>Interactive Animation
  • In the "Interactive Raycaster" window, click on "show" next to "Animation"
  • Click on "Start text-based animation editor"
  • In the editor window, type the following text: From frame 0 to frame 200 rotate by 360 degrees horizontally
  • Click on "Run" This will render 200 frames of a movie sequence, within which the MRI data set rotates by 360 degrees.

Rendering of 200 frames of this data set will typically take less than a minute on an OpenCL-enabled Graphics Card. The resulting stack can be saved as a video file using Fiji's File>Save As>AVI... command.

To run the software on another data set, open a different image stack (instead of the T1 Head sample data) before running 3Dscript.

More information is available at https://bene51.github.io/3Dscript

Usage:

Detailed usage information is available on the wiki.

Publication:

Schmid, B.; Tripal, P. & Fraaß, T. et al. (2019), "3Dscript: animating 3D/4D microscopy data using a natural-language-based syntax", Nature methods 16(4): 278–280, PMID 30886414.

Tested hardware:

Graphics card Operating system
NVIDIA Quadro P2000 Windows 10
NVIDIA Quadro M4000 Windows 10
NVIDIA Quadro M2000 Windows 10
NVIDIA Quadro K620 Windows 10
NVIDIA Quadro K600 Windows 10
NVIDIA Quadro K420 Windows 7
NVIDIA GeForce GTX760 Windows 7
AMD FirePro W5100 Windows 7
Intel HD Graphics 4600 Windows 7
Intel HD Graphics 4000 Mac OS X
Intel HD Graphics 5000 Mac OS X
Intel HD Graphics 530 Windows 10

Extension points exported contracts — how you extend this code

Keyword (Interface)
(no doc) [9 implementers]
3D_Animation_Language/src/main/java/animation3d/parser/Keyword.java
Progress (Interface)
(no doc)
3D_Animation/src/main/java/animation3d/renderer3d/Progress.java
IRenderer3D (Interface)
(no doc) [9 implementers]
3D_Animation_Language/src/main/java/animation3d/textanim/IRenderer3D.java
Listener (Interface)
(no doc)
3D_Animation/src/main/java/animation3d/gui/NumberField.java
IKeywordFactory (Interface)
(no doc) [9 implementers]
3D_Animation_Language/src/main/java/animation3d/textanim/IKeywordFactory.java
Listener (Interface)
(no doc)
3D_Animation/src/main/java/animation3d/gui/CroppingPanel.java
IRecordingProvider (Interface)
(no doc) [2 implementers]
3D_Animation_Language/src/main/java/animation3d/textanim/IRecordingProvider.java
Listener (Interface)
(no doc)
3D_Animation/src/main/java/animation3d/gui/SingleSlider.java

Core symbols most depended-on inside this repo

add
called by 188
3D_Animation_Language/src/main/java/animation3d/textanim/Default3DRecordingProvider.java
getText
called by 71
3D_Animation/src/main/java/animation3d/gui/NumberField.java
length
called by 71
3D_Animation_Language/src/main/java/animation3d/parser/Keyword.java
setText
called by 67
3D_Animation/src/main/java/animation3d/gui/NumberField.java
getKeyword
called by 67
3D_Animation_Language/src/main/java/animation3d/parser/Keyword.java
format
called by 59
3D_Animation_Language/src/main/java/animation3d/textanim/CustomDecimalFormat.java
getHeight
called by 54
3D_Animation_Native/Raycaster.h
get
called by 49
3D_Animation_Language/src/main/java/animation3d/textanim/IRecordingProvider.java

Shape

Method 1,233
Class 112
Function 29
Interface 18
Enum 12

Languages

Java94%
C++6%

Modules by API surface

3D_Animation_Language/src/main/java/org/fife/ui/autocomplete/AnimationAutoCompletion.java94 symbols
3D_Animation_Language/src/main/java/animation3d/editor/AnimationEditor.java66 symbols
3D_Animation/src/main/java/animation3d/gui/ContrastPanel.java59 symbols
3D_Animation/src/main/java/animation3d/main/InteractiveRaycaster.java50 symbols
3D_Animation/src/main/java/animation3d/gui/ColorPicker.java43 symbols
3D_Animation_Language/src/main/java/animation3d/editor/EditorPane.java39 symbols
3D_Animation/src/main/java/animation3d/gui/DiagramCanvas.java38 symbols
3D_Animation/src/main/java/animation3d/renderer3d/OpenCLRaycaster.java34 symbols
3D_Animation/src/main/java/animation3d/gui/SingleSlider.java34 symbols
3D_Animation_Language/src/main/java/animation3d/parser/Interpreter.java33 symbols
3D_Animation_Language/src/main/java/animation3d/parser/Autocompletion.java33 symbols
3D_Animation/src/main/java/animation3d/gui/DoubleSlider.java33 symbols

For agents

$ claude mcp add 3Dscript \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact