Python生成Origin或者MATLAB的Pal格式的颜色图文件
Python #MATLAB #origin #colormapPython的颜色图( colormaps)非常多而且非常好看,在用Origin或者MATLAB的时候自己也想用Python的颜色图,因此写了这样一个程序。其中用Python生成MATLAB程序已经在另外一篇博客介绍过了[Software&Program/MATLAB/C_教程_MATLAB如何自定义颜色曲线],网络链接为MATLAB如何自定义颜色曲线
而Python生成Origin的Pal文件则需要保存为二进制数据,并且得有一些头文件的信息输出。我参考了MATLAB的一个函数cmap2pal这里面最关键的输出二进制文件的操作为:1234567891011121314151617181920212223242526272829303132%% Open filefid=fopen(path,'w',mf);if(fid<0) throw(MException('cmap2pal:Open','Error opening file (%s) for writing',path));end%% Write ...
Meep教程(3):Meep的模式投影方法计算偶极子耦合到光波导的效率
Meep介绍因为实验室需要,我的研究生生涯相当一部分就是在计算这个耦合效率,偶极子放在波导附近时,其一部分能量会耦合到波导中去,偶极子可以是任意的荧光分子、量子点等,我们希望提高这个耦合效率,其定义为耦合到波导部分的功率比上总的辐射功率
\beta=\frac{p_{guide}}{p_{total}}其中$p{guide}是偶极子耦合到波导的功率,需要在传播方向上将总场与波导模式场进行投影得到,而p{total}$则是偶极子总的辐射功率,需要计算包裹偶极子的一个封闭面上的坡印廷矢量的积分。这是最一般最有效的方法,其实还有基于模式分析的半解析方法来计算,我这里就不在详细讨论,本笔记目的只是为了计算出正确的耦合效率。
波导模式求解这次的结构要复杂一些,如下图所示
我们还是需要先求解一下对应的波导模式,和上篇笔记的做法一样,只是结构更加复杂了,设置结构的代码如下
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 ...
Meep教程(2):Meep和MPB分别计算光波导模式教程
Meep目的安装完Meep之后一直很少用它来做具体的计算,因为COMSOL和Lumerical FDTD Solutions确实有图形界面非常好用,最近想要计算偶极子耦合到直波导的耦合效率,用COMSOL计算三维结构需要较大的内存,用FDTD的时候服务器没有图形界面,扫描设置很不方便,这时候决定好好打磨一下Meep以为我所用。我的思路是:
学会用Meep计算光波导模式并和COMSOL对上
学会用Meep设置偶极子的源计算并计算器耦合到波导模式的功率
今天笔记主要讲的是第一步。
那里可以学习?Meep如果直接去浏览官方文档还是比较低效的,最好是可以直接从例子中学习,有不懂再去看。我也希望我把我的例子写出来可以帮助大家快速上手,用Meep计算波导模式有两个方法,我是各种浏览github的问题区域知道的,里面别人分享了很多的源代码。比如别人问为啥MPB和Meep计算的结果不一样,我就可以知道有两个方法计算波导模式:
issues893另外具体的设置步骤还参考了这个讨论
issues851还有一个网站有非常多的例子,我觉得需要一级推荐的[simpetuscloud](http://www ...
Centos 更新OpenSSH到8.6版本教程
Centos最近被告知要对服务器的ssh进行更新,网上教程比较多,而且各不一样,最后找了一个看起来靠谱的教程
CSDN:CentOS 8 升级 OpenSSH 8.4
照着做几乎没出啥差错,只有一点小地方不一样,因此记录下来。
OpenSSH 输入验证错误漏洞
漏洞分类:通用漏洞检测
危险等级:高风险
影响主机:115.156.215.222 [ TCP / 22 ]
输出信息:
Installed version: 8.0Fixed version: 8.1Installation path / port: 22/tcp
详细描述:
[CVE-2019-16905]OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 7.7版本至7.9版本和8.1之前的8.x版本中存在输入验证错误漏洞。该漏洞源于网络系统或产品未对输入的数据进行正确的验证。
CVE:CVE-2019-16905
CNNVD:CNNVD- ...
量子计算与量子信息(二)量子隐形传态
Quantum #Optics介绍量子隐形传态是一个非常经典的利用纠缠来远距离传输量子态的方式,该方案需要我们首先具有一对纠缠的粒子(如光子),该方案在1993年被Bernet教授等人提出,并很快得到了实验上的验证,这篇笔记主要是想讲清楚该方案的原理以及实验方案。
EPR对EPR无论是对于量子力学的发展还是对于量子信息的发展都至关重要。1935年Einstein, Podolsky, 和Rosen 提出了一个假想实验认为纠缠的粒子似乎会发生超距作用从而来否定量子力学的一些观点。EPR对即两个纠缠的粒子,可以是不同的物理量之间发生纠缠,物理量也可以分为连续变量和离散变量两种,离散变量描述相对简单,可以先用该变量说明:
非连续变量的表述我们假设有两个纠缠的粒子比如电子,其自旋的方向更好是相反的,且满足守恒律,即一个如果自旋向上,那么一个就是自旋向下,可以将该粒子态表示为
|\psi\rangle=\frac{1}{\sqrt{2}}(|\uparrow\downarrow\rangle+|\downarrow\uparrow\rangle)如果将两个粒子放的非常远,此时测量粒子1,有可能 ...
AFM数据处理软件Gwyddion的安装以及Python包的安装使用
Python #AFM #Gwyddion
介绍用AFM逐行扫描的高度数据往往需要处理以获得正确的高度分布。JPK公司提供的 原始软件“ JPKSPM数据处理”可以执行一些校准,但是我们无法从pytho程序中使用它,如果您要处理的文件很多,并且需要测试这些文件的不同处理方法,效率就会很低,因此我们还是希望有机会用脚本进行大批量的数据处理。安装此软件包并不容易,因此我在Windows和Linux系统中都列出了该软件包的安装方法。
安装Gwyddion的步骤在windows的ubuntu子系统安装我的笔记本电脑已经安装了ubuntu子系统,首先想到的是在子系统中安装gwyddion,因为gywddion只支持python2.7,子系统安装不会改变我的python3的使用。 在Windows子系统“ ubuntu-18.04”中,我直接键入了以下命令以成功安装该软件包1sudo apt-get install gwyddion
1sudo apt-get install python-gobject
1sudo apt install python-gtk2 libcanberra-gtk ...
Python办公:自动化生成latex代码来整理大量的图片到PDF
Python #Tools介绍本篇笔记主要是记录我利用python生成LaTex文件来将很多图片整理并保存到PDF的过程。作为科研人员,或者学生,生活中常常会遇到这样的场景:
在听取报告的时候,我们经常会将我们感兴趣的报告的PPT拍下来,后续再去查阅相关资料。理想很丰满,现实很骨感,实际上很多时候PPT拍完我们就不再会去整理了,因为太麻烦了。一系列照片,挨个分类保存还是很麻烦的。
在上课的时候,有的老师不会发PPT,遇到有疑问的也是手机保存一下。后续整理笔记也是会遇到照片太多不方便整理的情况。
做实验的时候,或者仿真的时候,也会产生很多图片,我们想将这些图片放到PPT里面展示,但是图片太多的时候,挨个选取图片、插入、排版都会浪费我们不少的时间。
针对这个痛点,我决定用所学的编程知识让这一过程自动化,基本思路是:
图片排版用Latex来完成,可以生成PDF的报告或者Beamer形式。
插入图片的Latex代码用Python来完成。
下面是具体的实现
准备一个模板latex文件我们需要先准备一个模板Latex文件,模板文件大致有所有的需要的基本代码,我的大致如下:
12345678 ...
MATLAB如何自定义颜色曲线
MATLAB #ColormapMATLAB有一套自己的颜色库,常用的都有,但是数量不算太多。我们有时候需要用到一些MATLAB没有的colormap,比如Python的Matplotlib就有很多的colormap,我们也有可能需要自己来定义一些渐变的颜色。本片笔记主要是介绍colormap如何自己定义或者如何从网络上下载自己需要的颜色图并且使用。
colormap的原理何为colormap?其实就是一个的数值矩阵,数字是0到1的数据,分别对应的是RGB通道的强度,比如红色就是[1,0,0]。而颜色图是一个颜色变化的图,当你把这个数据给MATLAB之后,MATLAB会按照这个colormap在绘制数据的时候自动插值。所以我们可以任意自己定义一个colormap,下面是一个例子,12345678color_map_mine=[linspace(0,1,100)',linspace(0,1,100)',linspace(0,0.5,100)'];x=linspace(-3,3,200);y=linspace(-3,3,200);[x_grid,y_grid]=meshgrid(x,y); ...
MATLAB光滑数据的方法总结
MATLAB #DataprocessingMATLAB光滑数据的方法总结对于数据的光滑,我开始理解的不透彻,直接用了一些MATLAB、Python的内置函数,没有理解其内在本质,仔细看了一些技术文章,了解了其基本原理,总结出来,希望以后可以用到
几种常用信号平滑去噪的方法
含普通噪声的数据的光滑普通噪声即随机的噪声,是一些比较随机的波动。我们可以做的只是让这些波动变得平均。要去除背景还得用测量的结果减去背景才行。MATLAB内置了很多的函数,我们取其中的smoothdata,filter,movmean函数,另外还可以手动来做卷积,来比较结果的异同。smoothdata的处理含movmean的选项,所以我们直接用smoothdata函数即可。代码如下
12345678910111213141516171819202122232425x=linspace(0,10,100);y=exp(-(x-5).^2)+ 0.25*rand(size(x));y_0=exp(-(x-5).^2);window=5;b = (1/window)*ones(1,window);a = 1;y_smoo ...
运用Python的CV2库检测tiff图形中的圆形
Python #Dataprocessing如何确定实验数据的圆形?实验数据保存为Tiff文件,其实就是一个强度分布的矩阵,与实际的图片是有区别的。
标签图像文件格式(Tag Image File Format,TIFF)是一种灵活的位图格式,主要用来存储包括照片和艺术图在内的图像,最初由Aldus公司与微软公司一起为PostScript打印开发。TIFF与JPEG和PNG一起成为流行的高位彩色图像格式。TIFF格式在业界得到了广泛的支持,如Adobe公司的Photoshop、The GIMP Team的GIMP、Ulead PhotoImpact和Paint Shop Pro等图像处理应用、QuarkXPress和Adobe InDesign这样的桌面印刷和页面排版应用,扫描、传真、文字处理、光学字符识别和其它一些应用等都支持这种格式。从Aldus获得了PageMaker印刷应用程序的Adobe公司控制着TIFF规范。
我们需要一个检测圆的算法来实现,我主要参考了这两个教程Detecting Circles in Images using OpenCV and Hough Cir ...