{"id":24087366,"url":"https://github.com/kit-ipe/wave-client-renderer","last_synced_at":"2025-12-12T04:02:49.338Z","repository":{"id":35194128,"uuid":"39452509","full_name":"kit-ipe/WAVE-Client-Renderer","owner":"kit-ipe","description":"A JavaScript framework for client-side volume rendering. The WAVE Client Renderer is a subset of the WAVE framework, mainly to provide visual previews for large data sets.","archived":false,"fork":false,"pushed_at":"2023-12-12T13:36:35.000Z","size":112766,"stargazers_count":9,"open_issues_count":1,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-11T02:55:39.216Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"GLSL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kit-ipe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-07-21T15:07:15.000Z","updated_at":"2024-12-29T22:15:36.000Z","dependencies_parsed_at":"2025-01-10T03:36:14.005Z","dependency_job_id":null,"html_url":"https://github.com/kit-ipe/WAVE-Client-Renderer","commit_stats":null,"previous_names":["kit-ipe/tomo_raycaster2"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-ipe%2FWAVE-Client-Renderer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-ipe%2FWAVE-Client-Renderer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-ipe%2FWAVE-Client-Renderer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-ipe%2FWAVE-Client-Renderer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kit-ipe","download_url":"https://codeload.github.com/kit-ipe/WAVE-Client-Renderer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240980640,"owners_count":19888312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-10T03:24:45.965Z","updated_at":"2025-12-12T04:02:44.958Z","avatar_url":"https://github.com/kit-ipe.png","language":"GLSL","funding_links":[],"categories":[],"sub_categories":[],"readme":"WAVE Client Renderer\n====================\nA JavaScript framework for client-side data rendering. The WAVE Client Renderer is a subset of the WAVE framework, mainly to provide visual previews for large data sets.\n\nIf you use this library, please cite the following paper:\n\nTan Jerome, N., Chilingaryan, S., Shkarin, A., Kopmann, A., Zapf, M., Lizin, A., \u0026 Bergmann, T. (2017, February). WAVE: A 3D Online Previewing Framework for Big Data Archives. In VISIGRAPP (3: IVAPP) (pp. 152-163).\n\n@inproceedings{tanjerome2017wave,\n  title={WAVE: A 3D Online Previewing Framework for Big Data Archives.},\n  author={Tan Jerome, Nicholas and Chilingaryan, Suren and Shkarin, Andrei and Kopmann, Andreas and Zapf, Michael and Lizin, Alexander and Bergmann, Till},\n  booktitle={VISIGRAPP (3: IVAPP)},\n  pages={152--163},\n  year={2017}\n}\n\n\nThis library help creates the visualizations in the following publications:\n1. Sebastian Schmelzle, Michael Heethoff, Vincent Heuveline, Philipp Lösel, Jürgen Becker, Felix Beckmann, Frank Schluenzen, Jörg U. Hammel, Andreas Kopmann, Wolfgang Mexner, Matthias Vogelgesang, Nicholas Tan Jerome, Oliver Betz, Rolf Beutel, Benjamin Wipfler, Alexander Blanke, Steffen Harzsch, Marie Hörnig, Tilo Baumbach, Thomas van de Kamp, \"The NOVA project: maximizing beam time efficiency through synergistic analyses of SRμCT data,\" Proc. SPIE 10391, Developments in X-Ray Tomography XI, 103910P (26 September 2017); https://doi.org/10.1117/12.2275959 \n2. Tan Jerome, N., Ateyev, Z., Lebedev, V., Hopp, T., Zapf, M., Chilingaryan, S., \u0026 Kopmann, A. (2018). Visualisation of Ultrasound Computer Tomography Breast Dataset. KIT Scientific Publishing.\n3. Tan Jerome, N., \u0026 Kopmann, A. (2018). Digital Visual Exploration Library. In VISIGRAPP (3: IVAPP) (pp. 341-348).\n4. Tan Jerome, N. (2019). Low-latency big data visualisation. KIT Scientific Publishing.\n5. Tan Jerome, N., Ateyev, Z., Schmelzle, S., Chilingaryan, S., \u0026 Kopmann, A. (2019). Real-Time Local Noise Filter in 3-D Visualization of CT Data. IEEE Transactions on Nuclear Science, 66(7), 1296-1303.\n6. Tan Jerome, N., Chilingaryan, S., van de Kamp, T., \u0026 Kopmann, A. (2023). Low-latency Visual Previews of Large Synchrotron Micro-CT Datasets. arXiv preprint arXiv:2311.15038.\n\n\nDue to the rapid change of the web development landscape, the information might be outdated. Please contact nicholas.tanjerome@kit.edu to help setup or update the repository.\n\n## Workflow:\n### 1. Clone this repo\n```bash\n$ git clone https://github.com/kit-ipe/WAVE-Client-Renderer.git\n```\n### 2. Go to the dir where you cloned repo\n```bash\n$ cd WAVE-Client-Renderer\n```\n### 3. Install npm\n* Opensuse 13.2\n\n```bash\n$ sudo zypper addrepo http://download.opensuse.org/repositories/devel:/languages:/nodejs/openSUSE_13.2/ Node.js\n$ sudo zypper in npm\n```\n* Archlinux\n```bash\n$ sudo pacman -S npm\n```\n* Mac OS\n```bash\n$ brew install node\n```\n### 4. Prepare Grunt\n```bash\n$ ./prepare_grunt.sh\n```\n### 5. Compile all the source files into Javascript\n```bash\n$ grunt\n```\n\n## Usage API:\nYou can call the API from your web developer console:\n\n### General information.\n1. Version.\n```bash\n$ wave.version();\n```\n\n### Control.\n1. Start raycast.\n```bash\n$ wave.start();\n```\n2. Stop raycast.\n```bash\n$ wave.stop();\n```\n\n### Rendering modes\n1. Volume raycasting.\n```bash\n$ wave.showVolren();\n```\n2. Surface rendering.\n```bash\n$ wave.showISO();\n```\n3. Transfer function.\n```bash\n$ wave.setTransferFunctionByColors( [ {'color': '#ff0000', 'pos': 0.0},{'color': '#0000ff', 'pos': 0.50},{'color': '#ffffff', 'pos': 1.0}] );\n```\n### Container\n3. Enable/disable cube container wireframe (val: [true | false]).\n```bash\n$ wave.showWireframe(val);\n```\n3. Enable/disable showing hint container (val: [true | false]).\n```bash\n$ wave.showZoomBox(val);\n```\n3. Set Zoom Box X-min (val: [0,1]).\n```bash\n$ wave.setZoomXMinValue(val)\n```\n3. Set Zoom Box X-max (val: [0,1]).\n```bash\n$ wave.setZoomXMaxValue(val)\n```\n3. Set Zoom Box Y-min (val: [0,1]).\n```bash\n$ wave.setZoomYMinValue(val)\n```\n3. Set Zoom Box Y-max (val: [0,1]).\n```bash\n$ wave.setZoomYMaxValue(val)\n```\n3. Set Zoom Box Z-min (val: [0,1]).\n```bash\n$ wave.setZoomZMinValue(val)\n```\n3. Set Zoom Box Z-max (val: [0,1]).\n```bash\n$ wave.setZoomZMaxValue(val)\n```\n3. Set Zoom Box Colour (val: HEX-codei, e.g., 0xff00ff).\n```bash\n$ wave.setZoomColor(val)\n```\n\n### Data\n1. Set minimum gray value threshold (val: [0,1]).\n```bash\n$ wave.setGrayMinValue( val );\n```\n2. Set maximum gray value threshold (val: [0,1]).\n```bash\n$ wave.setGrayMaxValue( val );\n```\n3. Slice data from X-min (val: [0,1]).\n```bash\n$ wave.setGeometryMinX( val );\n```\n3. Slice data from X-max (val: [0,1]).\n```bash\n$ wave.setGeometryMaxX( val );\n```\n3. Slice data from Y-min (val: [0,1]).\n```bash\n$ wave.setGeometryMinY( val );\n```\n3. Slice data from Y-max (val: [0,1]).\n```bash\n$ wave.setGeometryMaxY( val );\n```\n3. Slice data from Z-min (val: [0,1]).\n```bash\n$ wave.setGeometryMinZ( val );\n```\n3. Slice data from Z-max (val: [0,1]).\n```bash\n$ wave.setGeometryMaxZ( val );\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkit-ipe%2Fwave-client-renderer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkit-ipe%2Fwave-client-renderer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkit-ipe%2Fwave-client-renderer/lists"}