Learning vtkjs之ThresholdPoints

过滤器 阈值过滤器

介绍

vtkThresholdPoints - 提取满足阈值条件的点
vtkThresholdPoints 是一个过滤器,它从数据集中提取满足阈值条件的点。该条件可以采用三种形式:
1)大于特定值;
2) 小于特定值;
3) 在特定值之间。
过滤器的输出是多边形数据。

效果

在这里插入图片描述
在这里插入图片描述

核心代码

主要流程

	// ----------------------------------------------------------------------------// Standard rendering code setup// ----------------------------------------------------------------------------const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance({background: [0.9, 0.9, 0.9],rootContainer: vtkContainerRef.current,});const renderer = fullScreenRenderer.getRenderer();const renderWindow = fullScreenRenderer.getRenderWindow();// ----------------------------------------------------------------------------// Example code// ----------------------------------------------------------------------------const lookupTable = vtkLookupTable.newInstance({ hueRange: [0.666, 0] });const reader = vtkHttpDataSetReader.newInstance({ fetchGzip: true });reader.setUrl(BaseUrlPross("/data/cow.vtp")).then(() => {reader.loadData().then(() => {renderer.resetCamera();renderWindow.render();});});const calc = vtkCalculator.newInstance();calc.setInputConnection(reader.getOutputPort());calc.setFormula({getArrays: (inputDataSets) => ({input: [{ location: FieldDataTypes.COORDINATE }], // Require point coordinates as inputoutput: [// Generate two output arrays:{location: FieldDataTypes.POINT, // This array will be point-data ...name: 'sine wave', // ... with the given name ...dataType: 'Float64Array', // ... of this type ...attribute: AttributeTypes.SCALARS, // ... and will be marked as the default scalars.},{location: FieldDataTypes.UNIFORM, // This array will be field data ...name: 'global', // ... with the given name ...dataType: 'Float32Array', // ... of this type ...numberOfComponents: 1, // ... with this many components ...tuples: 1, // ... and this many tuples.},],}),evaluate: (arraysIn, arraysOut) => {// Convert in the input arrays of vtkDataArrays into variables// referencing the underlying JavaScript typed-data arrays:const [coords] = arraysIn.map((d) => d.getData());const [sine, glob] = arraysOut.map((d) => d.getData());// Since we are passed coords as a 3-component array,// loop over all the points and compute the point-data output:for (let i = 0, sz = coords.length / 3; i < sz; ++i) {const dx = coords[3 * i] - 0.5;const dy = coords[3 * i + 1] - 0.5;sine[i] = 10 * dx * dx + dy * dy;}// Use JavaScript's reduce method to sum the output// point-data array and set the uniform array's value:glob[0] = sine.reduce((result, value) => result + value, 0);// Mark the output vtkDataArray as modifiedarraysOut.forEach((x) => x.modified());},});const mapper = vtkMapper.newInstance({interpolateScalarsBeforeMapping: true,colorMode: ColorMode.DEFAULT,scalarMode: ScalarMode.DEFAULT,useLookupTableScalarRange: true,lookupTable,});const actor = vtkActor.newInstance();actor.getProperty().setEdgeVisibility(true);const scalarBarActor = vtkScalarBarActor.newInstance();scalarBarActor.setScalarsToColors(lookupTable);renderer.addActor(scalarBarActor);const thresholder = vtkThresholdPoints.newInstance();thresholder.setInputConnection(calc.getOutputPort());mapper.setInputConnection(thresholder.getOutputPort());actor.setMapper(mapper);renderer.addActor(actor);context.current = {renderer,renderWindow,mapper,thresholder,};

全部代码都放到github上了
新坑_Learning vtkjs_git地址
关注我,我持续更新vtkjs的example学习案例

也欢迎各位给我提意见,技术交流~

大鸿

WeChat : HugeYen
WeChat Public Account : BIM树洞

做一个静谧的树洞君

用建筑的语言描述IT事物;

用IT的思维解决建筑问题;

共建BIM桥梁,聚合团队。

本学习分享资料不得用于商业用途,仅做学习交流!!如有侵权立即删除!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/81665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录ruoyi-flowable-plus第一次运行流程报错

记录ruoyi-flowable-plus第一次运行流程报错 错误步骤 1.启动ruoyi-flowable-plus 正常登录后&#xff0c;打开流程分类然后点击新增按钮&#xff0c;新增了一个分类。增加成功后&#xff0c; 再点击流程分类&#xff0c;报错。 错误提示 org.springframework.cglib.core.C…

Java中的stream流介绍与使用

一、Stream 的基础概念 定义与特性 Stream 是单向数据流&#xff0c;对集合或数组进行高效处理&#xff0c;不存储数据&#xff0c;而是通过操作链生成新 Stream。不可变性&#xff1a;原始数据源不被修改&#xff0c;所有操作均返回新 Stream。延迟执行&#xff1a;中间操作&a…

OCR身份证识别(正反面)_个人证照OCR识别_开放API接口使用指南

一、接口简介 在数字化时代&#xff0c;快速准确地提取身份证信息变得尤为重要。**万维易源提供的“身份证OCR识别”API接口&#xff0c;能够快速提取二代居民身份证正反面的所有字段信息&#xff0c;包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限等。…

25年新版潮乎盲盒系统源码 盲盒商城系统前端分享

盲盒系统市场的前景一直都很不错&#xff0c;最近很多问我有没有盲盒源码的客户&#xff0c;下面给大家分享一个新版潮乎盲盒源码&#xff01; 这款盲盒源码系统 前端Uniapp 后端使用了Laravel框架进行开发。Laravel是一个流行的PHP框架&#xff0c;具有强大的功能和易于使用的…

Transformer四模型回归打包(内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型)

Transformer四模型回归打包&#xff08;内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型&#xff09; 目录 Transformer四模型回归打包&#xff08;内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型&#xff09;预测效果基本介绍程序设计参…

Axure疑难杂症:利用中继器制作三级下拉菜单(逻辑判断进阶)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:三级下拉菜单 主要内容:条件筛选时的逻辑判断思维,中继器使用 应用场景:复合条件下的下拉列表制作 案例展…

Nginx 核心功能之正反代理

目录 一、Nginx 二、正向代理 三、反向代理 四、Nginx 缓存 1. 缓存功能的核心原理和缓存类型 2. 代理缓存功能设置 五、Nginx rewrite和正则 &#xff08;1&#xff09;Nginx 正则 &#xff08;2&#xff09;nginx location &#xff08;3&#xff09;Rewrite &…

ssh连接云服务器记录

文章目录 1. 背景2. ssh连接2.1 win 下通过终端工具进行连接2.2 Linux下通过ssh指令连接2.3 ssh使用publickey来连接 ssh连接云服务器记录 1. 背景 最近开始接触docker技术、mysql技术&#xff0c;加上本人工作基本都在Linux下进行&#xff0c;因此需要一套Linux环境进行练习。…

软考-软件设计师中级备考 12、软件工程

一、软件工程概述 定义&#xff1a;软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量软件的学科。它涉及到软件的开发、测试、维护、管理等多个方面&#xff0c;旨在运用一系列科学方法和技术手段&#xff0c;提高软件的质量和开发效率&#xff0c;降低软件开…

【多次弹出“获取打开此tobiieyetracking链接的应用”的窗口】解决办法

使用联想R9000P突然出现“获取打开此tobiieyetracking链接的应用”的窗口&#xff0c;每隔几分钟就弹一次&#xff0c;特别恶心人&#xff0c;解决办法&#xff1a; 找到【此电脑】&#xff0c;鼠标右键【管理】&#xff1b;选择【服务】&#xff0c;如下所示&#xff0c;找到…

项目选择的三个核心因素:市场前景、竞争优势和成本控制

能保持持续增长和赚钱的项目就是好项目。 每个创业者创业之初&#xff0c;遇到的第一个难题就是选择做什么项目&#xff1f; 俗话说&#xff1a;方向不对&#xff0c;努力白费。 选错项目&#xff0c;意味着你所有的付出都是打水漂。 能做的项目那么多&#xff0c;在没有价值…

裸机 Kubernetes 集群负载均衡器:MetalLB 深度解析与实战指南

一、引言 在云原生架构中&#xff0c;Kubernetes 默认的负载均衡能力依赖于云厂商&#xff08;如 AWS ELB、GCP LB&#xff09;&#xff0c;但在裸机或本地数据中心环境中&#xff0c;这一功能缺失导致 LoadBalancer 类型的 Service 始终处于 Pending 状态。此时&#xff0c;M…

2025年- H20-Lc128-240. 搜索二维矩阵 II(矩阵)---java版

1.题目描述 2.思路 遍历矩阵&#xff0c;然后如果遇到矩阵中的值正好等于target&#xff0c;输出true。否则&#xff0c;输出false。 3.代码 public class H240 {public boolean searchMatrix(int[][] matrix, int target) {//1.计算出总的行值&#xff0c;总的列值。int mm…

系统架构设计师:设计模式——行为设计模式

一、行为设计模式 行为模式涉及算法和对象间职责的分配。行为模式不仅描述对象或类的模式&#xff0c;还描述它们之间的通信模式。这些模式刻画了在运行时难以跟踪的、复杂的控制流。它们将用户的注意力从控制流转移到对象间的联系方式上来。 行为类模式使用继承机制在类间分…

java springboot实现MCP Server SSE

参考&#xff1a; https://juejin.cn/post/7491881721278529570 SpringAI 实现 SSE MCP Server项目 - Auler - 博客园 springboot-MCPserver-JUnit: 使用springboot支持mcp项目搭建&#xff0c;同时有着便捷的单元测试来进行敏捷开发对话即服务&#xff1a;Spring BootMCP让…

LeetCode 热题 100 48. 旋转图像

LeetCode 热题 100 | 48. 旋转图像 大家好&#xff0c;今天我们来解决一道经典的算法题——旋转图像。这道题在LeetCode上被标记为中等难度&#xff0c;要求我们将一个 n n 的二维矩阵&#xff08;图像&#xff09;顺时针旋转90度&#xff0c;并且必须原地修改矩阵&#xff0…

嵌入式按键原理、中断过程与中断程序设计(键盘扫描程序)

按键去抖动  通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时&#xff0c;电压信号波型如下图。由于机械触点的弹性作用&#xff0c;一个按键开关在闭合时不会马上稳定地接通&#xff0c;在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。…

数据结构之哈夫曼树

8.哈夫曼树 8.1 哈夫曼编码 哈夫曼编码&#xff08;Huffman Coding&#xff09;&#xff0c;又称霍夫曼编码&#xff0c;是一种可变字长编码&#xff08;VLC&#xff09;方式 这种编码方法完全依据字符出现的概率来构造异字头的平均长度最短的码字&#xff0c; 因此有时也被…

机器学习实操 第一部分 机器学习基础 第5章 支持向量机(SVM)

机器学习实操 第一部分 机器学习基础 第5章 支持向量机&#xff08;SVM&#xff09; 内容概要 第5章深入介绍了支持向量机&#xff08;SVM&#xff09;&#xff0c;这是一种功能强大且应用广泛的机器学习模型。SVM适用于线性或非线性分类、回归以及 novelty detection。本章详…

Webug4.0靶场通关笔记14- 第18关 文件上传之Nginx解析缺陷

目录 第18关 渗透实战 1.打开靶场 2.构造php脚本 3.源码分析 &#xff08;1&#xff09;客户端源码 &#xff08;2&#xff09;服务的源码 4.Nginx解析法渗透 &#xff08;1&#xff09;缺陷原因 &#xff08;2&#xff09;缺陷条件 &#xff08;3&#xff09;构造脚…