- 博客(165)
- 资源 (10)
- 收藏
- 关注
原创 ubuntu20.04 编译vtk 9.3.1+vtkDicom+GDCM 3.0.24
cmake-gui如下图所示,选择源码目录和build目录:勾选 BUILD_SHARED_LIBS以及VTK_DEBUG_LEAKS。作者喜欢用vtkDicom库,添加了对vtkDicom的使用,所以启用了vtkDicom编译条件VTK_MODULE_ENABLE_VTK_vtkDICOM,添加方式如下:执行configure,在完成后的界面勾选使用gdcm。再次执行configure,提示错误,需要输入GDCM的路径。所以我们进入下一个环节,编译GDCM。
2024-09-12 14:05:39 562
原创 ubuntu20.04 Qt6引用dcmtk库实现dicom文件读取和字符集转换
安装完Qt6,新建Qt/QtQuick CMake工程编译出现如下错误:Found package configuration file: Qt6Config.cmake but it set Qt6 FOUND to FALSE so package "Qt6" is considered to be NOT FOUND.原因:这是因为系统中缺少OpenGL库,可以安装libgl1-mesa-dev解决方法:项目编译成功后运行,如果出现如下错误:qt.qpa.plugin: Could not lo
2024-09-10 15:17:27 392
原创 基于UDP的可靠传输,文件+目录(C++,Qt)
pub.h 定义通用数据类型和转换方法///请求类型定义file,folder///请求定义int type;//reqTypefileReq()///QString转string///string转QStringconfig.h 定义基础配置信息Q_OBJECTpublic:~config();///获取本地存储路径///获取本地服务端口///设置本地存储路径///设置本地服务端口private:///本地存储路径///本地服务端口。
2023-07-21 15:30:10 1390 1
原创 胶片打印、排版、自助打印(二)
灰度图像打印:彩色图像打印:通常情况下RGB类型DICOM图像包含如下的内容:图像的高度图像的宽度图像像素间距,读取Pixel Data的时候不需要,主要用于长度测量。一个像素取样点存储时分配到的位数,一般RGB的图像,每一个颜色通道都使用8位,所以一般取值为8。对于灰度图像,如果是256级灰阶,一般就是8位。如果高于256级灰阶,一般就采用16位。一个像素取样点存储时使用到的位数。比方说示例中CT影像,采用的是4K灰阶,像素值取值范围为0~4095,所以使用到的位数为12位。
2023-05-23 16:36:29 1747 1
原创 flutter Dio插件的使用 (十三)
Dio对象在App请求中一般在单例对象中使用,用来与后端进行普通的网络请求,如POST\GET等。Dio支持使用拦截器对所有的请求进行拦截,从而进行特殊处理,如增加token参数、请求和响应日志记录等。参考代码片段:引用头文件:import 'package:dio/dio.dart';import 'interceptor/http_interceptor.dart';在类的构造中,添加自定义的拦截器:class ThingsboardClient { ///....
2022-04-02 11:23:17 2542 1
原创 flutter 关键字 factory (十二)
最近一直在学习dart语言,以及类的定义和使用。在偶然的机会,看到了factory开头的定义的构造函数。所以查了一些资料来加深学习。 使用factory标识的类的构造函数,类似于设计模式中的单例模式,用来实例化只会创建一次的对象。具体使用参考如下的代码(来源:flutter 中factory(构造方法上的唯一对象) 与单例模式_Mars-xq的博客-CSDN博客_flutter工厂函数怎么用):class Manager { // 工厂模式 : 单例公开访问点 factory...
2022-04-02 10:49:40 2116
原创 flutter 日志功能(十一)
如要使用flutter官方的日志类,需要添加对该库的依赖:dependencies: flutter: sdk: flutter logger: ^1.0.0在使用的类中,添加对logger包的引用:import 'package:logger/logger.dart';对logger类的简单使用:var logger = Logger();logger.d("debug messages!");不同级别日志的输出:///详细日志logger.v("V
2022-03-11 11:47:30 5587
原创 Dart语言Future、async、await异步(十)
像其他程序语言一样,dart主程序也是单线程执行的。如下的程序: String Step1() { return "Step1"; } String Step2() { return "Step2"; } String Step3() { return "Step3"; } void testA() { print(Step1()); print(Step2()); print(Step3()); }将按顺序执行
2022-03-10 16:34:34 384
原创 flutter+Dart 类的继承extends with implements (九)
主要涉及到三个关键字 extends、 with、 implements 。extends是类的继承中最普遍的方式,如要结合后面两个关键字使用,根据文档,需要保证操作顺序:extends,mixins,implements。示例如下:class ThingsboardAppState extends State<ThingsboardApp> with TickerProviderStateMixin implements TbMainDashboardHolder
2022-03-10 14:45:05 3240
原创 FLUTTER PUB GET失败(八)
最近在编译某工程项目的时候,提示缺少某些packages。然后执行PUB GET下载包的时候,提示连接到googleapi的URL失败。找到原因如下:Flutter无法访问资源库在国外的源,所以需配置资源度地址为中国源。修改方式如下:1 对于 Linux 和 MacOS添加如下的环境变量,打开~/.bashrc,在文档最后添加export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=htt
2022-03-10 11:47:58 3323
原创 flutter+Dart 类的继承(七)
1 关键字dart类的继承是用 extends关键字。class Person { String name = '张三'; num age = 30; void printInfo() { print('${this.name},${this.age}'); }}class Boy extends Person {}main() { final boy = Boy(); print(boy.name); boy.printInfo();}使用su
2022-03-08 18:06:57 266
原创 C++调用C#Dll
1 创建C# DLL,需要指定应用类型为“类库”,代码:namespace CSLib{ public class Class1 { private string name; public string Name { get {
2022-03-08 17:00:46 2717
原创 flutter StatefulWidget 和StatelessWidget(四)
flutter StatefulWidget 和StatelessWidget
2022-03-08 16:09:13 351
原创 flutter Scaffold布局框架(三)
创建程序的时候,对Scaffold感到特别陌生,所以特地学习了下,总结如下:Scaffold总体上来说,就是一个类似android app的简易框架,借助这个框架,可以很方便的创建顶部导航栏,中间主体,右下角浮动按钮,以及底部按钮工具栏。 home: Scaffold( appBar: AppBar( title: const Text('Flutter layout demo'), ), body: ListView(
2022-03-08 15:52:48 762
原创 dcmtk 将raw文件转换为dicom文件
1. 定义一个DcmFileFormat DcmFileFormat m_fileformat;2. 更新传输协议字段m_fileformat.getDataset()->updateOriginalXfer();3. 填充tag信息 FillInfo(DCM_SpecificCharacterSet, m_charset); FillInfo(DCM_MediaStorageSOPInstanceUID, m_image->SO
2021-04-08 10:38:41 1510
原创 关于4K高清分辨率下,QOpenGLWidget无法完整绘制图像问题的解决
最近使用4K摄像头,并在QT程序中启用了高清显示适配设置:#if (QT_VERSION >= QT_VERSION_CHECK(5,8,0)) QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);#endif然后在QOpenGLWidget中进行了绘制:定义:class CQtViewerGl : public QOpenGLWidget, protected QOpenGLFunctions_2_0绘制:
2020-08-07 16:30:10 1684
原创 VTK-Python 9 读取CT slice文件,并显示三维图像
#!/usr/bin/env pythonimport vtkaRenderer = vtk.vtkRenderer();renWin = vtk.vtkRenderWindow();renWin.AddRenderer(aRenderer);iren = vtk.vtkRenderWindowInteractor();iren.SetRenderWindow(renWin);...
2018-04-18 20:45:36 6780 2
转载 VTK-Python 8. 德洛内三角形网
#!/usr/bin/pythonimport vtkimport randompoints = vtk.vtkPoints()# 随机生成一些列的点# random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。# 以下偏移值-0.25<=n<=0.25for x in...
2018-03-29 19:40:59 2144
转载 VTK-Python 7. Grid使用和布局
#!/usr/bin/env pythonimport vtk# 这个示例主要用于将不同的图像对象显示到指定的Grid中def main(): colors = vtk.vtkNamedColors() # Set the background color. colors.SetColor("BkgColor", [51, 77, 102, 255]) ...
2018-03-27 20:20:40 1089
转载 VTK-Python 6. 添加坐标系
参考VTK pyton的例子#!/usr/bin/env pythonimport vtkdef main(): colors = vtk.vtkNamedColors() # create a Sphere sphereSource = vtk.vtkSphereSource() sphereSource.SetCenter(0.0, 0.0, 0.0...
2018-03-27 19:47:13 2222
原创 VTK-Python 5. 为数据添加过滤器
#!/usr/bin/env pythonimport vtkdef main(): # create data manually # cylinder = vtk.vtkCylinderSource() # cylinder.SetHeight(3.0) # 设置柱体的高 # cylinder.SetRadius(1.0) # 设置柱体横截面的半径 ...
2018-03-17 17:44:12 693
原创 VTK-Python 4. 从文件读取STL数据
#!/usr/bin/env pythonimport vtkdef main(): # create data mannualy # cylinder = vtk.vtkCylinderSource() # cylinder.SetHeight(3.0) # 设置柱体的高 # cylinder.SetRadius(1.0) # 设置柱体横截面的半径 ...
2018-03-17 17:24:38 7633 8
原创 VTK-Python 3. 绘制圆柱体
#!/usr/bin/env pythonimport vtk# 参考的C++版本源码及解释 感谢原作者# http://blog.csdn.net/www_doling_net/article/details/8536376def main(): cylinder = vtk.vtkCylinderSource() cylinder.SetHeight(3.0) # ...
2018-03-16 18:24:22 3064
原创 VTK-Python 2. 绘制直线
#!/usr/bin/env pythonimport vtk# 绘制通用方法def myshow(linepolydata): # Now we'll look at it. lineMapper = vtk.vtkPolyDataMapper() if vtk.VTK_MAJOR_VERSION <= 5: lineMapper.Set...
2018-03-16 17:22:32 1040
原创 VTK-Python 1. 绘制立方体
#!/usr/bin/env python# This is (almost) a direct C++ to Python transliteration of# <VTK-root>/Examples/DataManipulation/Cxx/Cube.cxx from the VTK# source distribution, which "shows how to ma...
2018-03-16 16:12:56 3719 1
原创 Python list,Dict和Set
Python中定义list:classmates = ['ZHANG', 'LI', 'WANG']scores = [95, 75, 85]定义二维的list:L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart', 'Lisa']
2017-08-28 20:38:17 380
原创 GO 使用channel进行同步 (缓冲channel)
上一篇文章提到了普通的channel用来进行线程的同步。Go语言里面还有一种缓冲式的channel。ch := make(chan int, 100)需要执行类型和缓冲区的大小。package mainimport "fmt"func main() { c := make(chan int, 2) //建立int类型大小为2的缓冲区 c <- 1 //缓冲区1赋值为1
2015-02-03 21:55:03 6047
原创 GO 使用channel进行同步 (channel 1)
一直尝试去照着教程理解channel的用法和具体存在的意义。根据个人的理解,channel主要用来实现不同goroutine之间的数据同步和交互。channel的基本知识:channel 是有类型的管道,可以用 channel 操作符 ch v := (“箭头”就是数据流的方向。)和 map 与 slice 一样,channel 使用前必须创建:ch := make
2015-02-03 21:39:06 5392
原创 GO语言反射机制
反射机制基本和Java等类似,可获取struct或变量的类型 值等信息。获取或修改对象的值时,一定要判断该属性是否为可操作状态,否则会导致错误。示例代码如下:package mainimport ( "fmt" "reflect")///首字母大写表示该字段可导出,并可修改值type User struct { ID int name string //未导出 A
2015-01-08 18:25:38 2526
原创 Go语言错误处理
package mainimport ( "fmt" "math")//对应错误类型输出type ErrNegativeSqrt float64//定义错误类型输出func (e ErrNegativeSqrt) Error() string { return fmt.Sprintf("cannot Sqrt negative number:%f", float64(e))
2015-01-08 15:33:25 1679
原创 GO interface的使用
GO没有继承的概念,所以接口用来定义对象对应的方法名称,并不实现。如果我们定义的对象包含接口中的方法,那么就可以把对象赋值给定义为接口类型的变量。如以下的代码中,MyFloat和 *Vertex均实现了Abs()方法,所以可以用接口的方式直接调用,而Vertex并没有实现Abs()方法,所以运行的时候,编译器会提示错误。package mainimport ( "fmt" "m
2015-01-07 19:18:50 803
【可执行程序】基于UDT的文件+目录可靠传输(C++,Qt)
2023-07-21
胶片打印演示程序 提供胶片布局切换,自定义布局,连接dicom打印机 支持纸质打印机和图像保存 支持自助打印方案
2022-11-21
医疗器械计算机软件验证方案模板.zip
2019-11-06
xxx系统__软件项目开发计划.zip
2019-10-15
医疗器械软件描述文档.zip
2019-10-15
c++基础教程,简洁扼要.
2018-05-07
Delphi 气泡对话框 绝对可用
2018-05-07
软件配置管理规范-值得下载
2018-05-07
模仿QQ抓图工具(Delphi版)
2008-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人