Filter Table and Graph
- 格式:pdf
- 大小:76.97 KB
- 文档页数:3
基于Directshow的H.264网络视频监控客户端实现彭锋;林和志;黄联芬【摘要】In order to realize the real-time broadcasting of H. 264 at video monitoring client, a method that combines Directshow with MFC is adopted. Directshow taken as a drive of the video player receives data from the network, performs cache, decoding and display, and provides the API for MFC, which is used to design UI to control the process of playing. After verification on PC, the player can smoothly play the H. 264 video stream received from network, and the packet loss rate islow. The innovation of this paper is to use Directshow to play smoothly real-time H. 264 stream received from network.%为了实现视频监控客户端对H.264实时播放,采用Directshow与MFC相结合的方法,用Directshow作为视频播放的驱动,从网络接收数据,完成缓存,解码显示及封装成MFC可调用的API,MFC用来设计户界面,对播放过程进行相应的控制,达到了播放从网络接收到的H.264视频的目的.经过PC机上验证,可以流畅地从网络上接收播放H.264视频流,并且丢包率很小.在此用Directshow来实时流畅的播放从网络上接收到的H.264视频流.【期刊名称】《现代电子技术》【年(卷),期】2011(034)008【总页数】3页(P118-120)【关键词】H.264;Directshow;MFC;网络视频监控【作者】彭锋;林和志;黄联芬【作者单位】厦门大学,福建,厦门,361005;厦门大学,福建,厦门,361005;厦门大学,福建,厦门,361005【正文语种】中文【中图分类】TN919-340 引言视频监控以其直观方便信息内容丰富而广泛应用于安保,监控等场合,成为商业,交通,住宅等领域防范的重要手段。
GSPBOX_-Atoolboxforsignalprocessingongraphs_GSPBOX:A toolbox for signal processing on graphsNathanael Perraudin,Johan Paratte,David Shuman,Lionel Martin Vassilis Kalofolias,Pierre Vandergheynst and David K.HammondMarch 16,2016AbstractThis document introduces the Graph Signal Processing Toolbox (GSPBox)a framework that can be used to tackle graph related problems with a signal processing approach.It explains the structure and the organization of this software.It also contains a general description of the important modules.1Toolbox organizationIn this document,we brie?y describe the different modules available in the toolbox.For each of them,the main functions are brie?y described.This chapter should help making the connection between the theoretical concepts introduced in [7,9,6]and the technical documentation provided with the toolbox.We highly recommend to read this document and the tutorial before using the toolbox.The documentation,the tutorials and other resources are available on-line 1.The toolbox has ?rst been implemented in MATLAB but a port to Python,called the PyGSP,has been made recently.As of the time of writing of this document,not all the functionalities have been ported to Python,but the main modules are already available.In the following,functions pre?xed by [M]:refer to the MATLAB implementation and the ones pre?xed with [P]:refer to the Python implementation. 1.1General structure of the toolbox (MATLAB)The general design of the GSPBox focuses around the graph object [7],a MATLAB structure containing the necessary infor-mations to use most of the algorithms.By default,only a few attributes are available (see section 2),allowing only the use of a subset of functions.In order to enable the use of more algorithms,additional ?elds can be added to the graph structure.For example,the following line will compute the graph Fourier basis enabling exact ?ltering operations.1G =gsp_compute_fourier_basis(G);Ideally,this operation should be done on the ?y when exact ?ltering is required.Unfortunately,the lack of well de?ned class paradigm in MATLAB makes it too complicated to be implemented.Luckily,the above formulation prevents any unnecessary data copy of the data contained in the structure G .In order to avoid name con?icts,all functions in the GSPBox start with [M]:gsp_.A second important convention is that all functions applying a graph algorithm on a graph signal takes the graph as ?rst argument.For example,the graph Fourier transform of the vector f is computed by1fhat =gsp_gft(G,f);1Seehttps://lts2.epfl.ch/gsp/doc/for MATLAB and https://lts2.epfl.ch/pygsp for Python.The full documentation is also avail-able in a single document:https://lts2.epfl.ch/gsp/gspbox.pdf1a r X i v :1408.5781v 2 [c s .I T ] 15 M a r 2016The graph operators are described in section4.Filtering a signal on a graph is also a linear operation.However,since the design of special?lters(kernels)is important,they are regrouped in a dedicated module(see section5).The toolbox contains two additional important modules.The optimization module contains proximal operators,projections and solvers compatible with the UNLocBoX[5](see section6).These functions facilitate the de?nition of convex optimization problems using graphs.Finally,section??is composed of well known graph machine learning algorithms.1.2General structure of the toolbox(Python)The structure of the Python toolbox follows closely the MATLAB one.The major difference comes from the fact that the Python implementation is object-oriented and thus allows for a natural use of instances of the graph object.For example the equivalent of the MATLAB call:1G=gsp_estimate_lmax(G);can be achieved using a simple method call on the graph object:1G.estimate_lmax()Moreover,the use of class for the"graph object"allows to compute additional graph attributes on the?y,making the code clearer as its MATLAB equivalent.Note though that functionalities are grouped into different modules(one per section below) and that several functions that work on graphs have to be called directly from the modules.For example,one should write:1layers=pygsp.operators.kron_pyramid(G,levels)This is the case as soon as the graph is the structure on which the action has to be performed and not our principal focus.In a similar way to the MATLAB implementation using the UNLocBoX for the convex optimization routines,the Python implementation uses the PyUNLocBoX,which is the Python port of the UNLocBoX. 2GraphsThe GSPBox is constructed around one main object:the graph.It is implemented as a structure in Matlab and as a class in Python.It stores the nodes,the edges and other attributes related to the graph.In the implementation,a graph is fully de?ned by the weight matrix W,which is the main and only required attribute.Since most graph structures are far from fully connected, W is implemented as a sparse matrix.From the weight matrix a Laplacian matrix is computed and stored as an attribute of the graph object.Different other attributes are available such as plotting attributes,vertex coordinates,the degree matrix,the number of vertices and edges.The list of all attributes is given in table1.2Attribute Format Data type DescriptionMandatory?eldsW N x N sparse matrix double Weight matrix WL N x N sparse matrix double Laplacian matrixd N x1vector double The diagonal of the degree matrixN scalar integer Number of verticesNe scalar integer Number of edgesplotting[M]:structure[P]:dict none Plotting parameterstype text string Name,type or short descriptiondirected scalar[M]:logical[P]:boolean State if the graph is directed or notlap_type text string Laplacian typeOptional?eldsA N x N sparse matrix[M]:logical[P]:boolean Adjacency matrixcoords N x2or N x3matrix double Vectors of coordinates in2D or3D.lmax scalar double Exact or estimated maximum eigenvalue U N x N matrix double Matrix of eigenvectorse N x1vector double Vector of eigenvaluesmu scalar double Graph coherenceTable1:Attributes of the graph objectThe easiest way to create a graph is the[M]:gsp_graph[P]:pygsp.graphs.Graph function which takes the weight matrix as input.This function initializes a graph structure by creating the graph Laplacian and other useful attributes.Note that by default the toolbox uses the combinatorial de?nition of the Laplacian operator.Other Laplacians can be computed using the[M]:gsp_create_laplacian[P]:pygsp.gutils.create_laplacian function.Please note that almost all functions are dependent of the Laplacian de?nition.As a result,it is important to select the correct de?nition at? rst.Many particular graphs are also available using helper functions such as:ring,path,comet,swiss roll,airfoil or two moons. In addition,functions are provided for usual non-deterministic graphs suchas:Erdos-Renyi,community,Stochastic Block Model or sensor networks graphs.Nearest Neighbors(NN)graphs form a class which is used in many applications and can be constructed from a set of points (or point cloud)using the[M]:gsp_nn_graph[P]:pygsp.graphs.NNGraph function.The function is highly tunable and can handle very large sets of points using FLANN[3].Two particular cases of NN graphs have their dedicated helper functions:3D point clouds and image patch-graphs.An example of the former can be seen in thefunction[M]:gsp_bunny[P]:pygsp.graphs.Bunny.As for the second,a graph can be created from an image by connecting similar patches of pixels together.The function[M]:gsp_patch_graph creates this graph.Parameters allow the resulting graph to vary between local and non-local and to use different distance functions [12,4].A few examples of the graphs are displayed in Figure1.3PlottingAs in many other domains,visualization is very important in graph signal processing.The most basic operation is to visualize graphs.This can be achieved using a call to thefunction[M]:gsp_plot_graph[P]:pygsp.plotting.plot_graph. In order to be displayable,a graph needs to have2D(or3D)coordinates(which is a?eld of the graph object).Some graphs do not possess default coordinates(e.g.Erdos-Renyi).The toolbox also contains routines to plot signals living on graphs.The function dedicated to this task is[M]:gsp_plot_ signal[P]:pygsp.plotting.plot_signal.For now,only1D signals are supported.By default,the value of the signal is displayed using a color coding,but bars can be displayed by passing parameters.3Figure 1:Examples of classical graphs :two moons (top left),community (top right),airfoil (bottom left)and sensor network (bottom right).The third visualization helper is a function to plot ?lters (in the spectral domain)which is called [M]:gsp_plot_filter [P]:pygsp.plotting.plot_filter .It also supports ?lter-banks and allows to automatically inspect the related frames.The results obtained using these three plotting functions are visible in Fig.2.4OperatorsThe module operators contains basics spectral graph functions such as Fourier transform,localization,gradient,divergence or pyramid decomposition.Since all operator are based on the Laplacian de? nition,the necessary underlying objects (attributes)are all stored into a single object:the graph.As a ?rst example,the graph Fourier transform [M]:gsp_gft [P]:pygsp.operators.gft requires the Fourier basis.This attribute can be computed with the function [M]:gsp_compute_fourier_basis[P]:/doc/c09ff3e90342a8956bec0975f46527d3240ca692.html pute_fourier_basis [9]that adds the ?elds U ,e and lmax to the graph structure.As a second example,since the gradient and divergence operate on the edges of the graph,a search on the edge matrix is needed to enable the use of these operators.It can be done with the routines [M]:gsp_adj2vec[P]:pygsp.operators.adj2vec .These operations take time and should4Figure 2:Visualization of graph and signals using plotting functions.NameEdge derivativefe (i,j )Laplacian matrix (operator)Available Undirected graph Combinatorial LaplacianW (i,j )(f (j )?f (i ))D ?WV Normalized Laplacian W (i,j ) f (j )√d (j )f (i )√d (i )D ?12(D ?W )D ?12V Directed graph Combinatorial LaplacianW (i,j )(f (j )?f (i ))12(D ++D ??W ?W ?)V Degree normalized Laplacian W (i,j ) f (j )√d ?(j )?f (i )√d +(i )I ?12D ?12+[W +W ?]D ?12V Distribution normalized Laplacianπ(i ) p (i,j )π(j )f (j )? p (i,j )π(i )f (i )12 Π12PΠ12+Π?12P ?Π12 VTable 2:Different de?nitions for graph Laplacian operator and their associated edge derivative.(For directed graph,d +,D +and d ?,D ?de?ne the out degree and in-degree of a node.π,Πis the stationary distribution of the graph and P is a normalized weight matrix W .For sake of clarity,exact de?nition of those quantities are not given here,but can be found in [14].)be performed only once.In MATLAB,these functions are called explicitly by the user beforehand.However,in Python they are automatically called when needed and the result stored as an attribute. The module operator also includes a Multi-scale Pyramid Transform for graph signals [6].Again,it works in two steps.Firstthe pyramid is precomputed with [M]:gsp_graph_multiresolution [P]:pygsp.operators.graph_multiresolution .Second the decomposition of a signal is performed with [M]:gsp_pyramid_analysis [P]:pygsp.operators.pyramid_analysis .The reconstruction uses [M]:gsp_pyramid_synthesis [P]:pygsp.operators.pyramid_synthesis .The Laplacian is a special operator stored as a sparse matrix in the ?eld L of the graph.Table 2summarizes the available de?nitions.We are planning to implement additional ones.5FiltersFilters are a special kind of linear operators that are so prominent in the toolbox that they deserve their own module [9,7,2,8,2].A ?lter is simply an anonymous function (in MATLAB)or a lambda function (in Python)acting element-by-element on the input.In MATLAB,a ?lter-bank is created simply by gathering these functions together into a cell array.For example,you would write:51%g(x)=x^2+sin(x)2g=@(x)x.^2+sin(x);3%h(x)=exp(-x)4h=@(x)exp(-x);5%Filterbank composed of g and h6fb={g,h};The toolbox contains many prede?ned design of?lter.They all start with[M]:gsp_design_in MATLAB and are in the module[P]:pygsp.filters in Python.Once a?lter(or a?lter-bank)is created,it can be applied to a signal with[M]: gsp_filter_analysis in MATLAB and a call to the method[P]:analysis of the?lter object in Python.Note that the toolbox uses accelerated algorithms to scale almost linearly with the number of sample[11].The available type of?lter design of the GSPBox can be classi?ed as:Wavelets(Filters are scaled version of a mother window)Gabor(Filters are shifted version of a mother window)Low passlter(Filters to de-noise a signal)High pass/Low pass separationlterbank(tight frame of2lters to separate the high frequencies from the low ones.No energy is lost in the process)Additionally,to adapt the?lter to the graph eigen-distribution,the warping function[M]:gsp_design_warped_translates [P]:pygsp.filters.WarpedTranslates can be used[10].6UNLocBoX BindingThis module contains special wrappers for the UNLocBoX[5].It allows to solve convex problems containing graph terms very easily[13,15,14,1].For example,the proximal operator of the graph TV norm is given by[M]:gsp_prox_tv.The optimization module contains also some prede?ned problems such as graph basis pursuit in[M]:gsp_solve_l1or wavelet de-noising in[M]:gsp_wavelet_dn.There is still active work on this module so it is expected to grow rapidly in the future releases of the toolbox.7Toolbox conventions7.1General conventionsAs much as possible,all small letters are used for vectors(or vector stacked into a matrix)and capital are reserved for matrices.A notable exception is the creation of nearest neighbors graphs.A variable should never have the same name as an already existing function in MATLAB or Python respectively.This makes the code easier to read and less prone to errors.This is a best coding practice in general,but since both languages allow the override of built-in functions,a special care is needed.All function names should be lowercase.This avoids a lot of confusion because some computer architectures respect upper/lower casing and others do not.As much as possible,functions are named after the action they perform,rather than the algorithm they use,or the person who invented it.No global variables.Global variables makes it harder to debug and the code is harder to parallelize.67.2MATLABAll function start by gsp_.The graph structure is always therst argument in the function call.Filters are always second.Finally,optional parameter are last.In the toolbox,we do use any argument helper functions.As a result,optional argument are generally stacked into a graph structure named param.If a transform works on a matrix,it will per default work along the columns.This is a standard in Matlab(fft does this, among many other functions).Function names are traditionally written in uppercase in MATLAB documentation.7.3PythonAll functions should be part of a module,there should be no call directly from pygsp([P]:pygsp.my_function).Inside a given module,functionalities can be further split in differentles regrouping those that are used in the same context.MATLAB’s matrix operations are sometimes ported in a different way that preserves the efciency of the code.When matrix operations are necessary,they are all performed through the numpy and scipy libraries.Since Python does not come with a plotting library,we support both matplotlib and pyqtgraph.One should install the required libraries on his own.If both are correctly installed,then pyqtgraph is favoured unless speci?cally speci?ed. AcknowledgementsWe would like to thanks all coding authors of the GSPBOX.The toolbox was ported in Python by Basile Chatillon,Alexandre Lafaye and Nicolas Rod.The toolbox was also improved by Nauman Shahid and Yann Sch?nenberger.References[1]M.Belkin,P.Niyogi,and V.Sindhwani.Manifold regularization:A geometric framework for learning from labeled and unlabeledexamples.The Journal of Machine Learning Research,7:2399–2434,2006.[2] D.K.Hammond,P.Vandergheynst,and R.Gribonval.Wavelets on graphs via spectral graph theory.Applied and ComputationalHarmonic Analysis,30(2):129–150,2011.[3]M.Muja and D.G.Lowe.Scalable nearest neighbor algorithms for high dimensional data.Pattern Analysis and Machine Intelligence,IEEE Transactions on,36,2014.[4]S.K.Narang,Y.H.Chao,and A.Ortega.Graph-wavelet?lterbanks for edge-aware image processing.In Statistical Signal ProcessingWorkshop(SSP),2012IEEE,pages141–144.IEEE,2012.[5]N.Perraudin,D.Shuman,G.Puy,and P.Vandergheynst.UNLocBoX A matlab convex optimization toolbox using proximal splittingmethods.ArXiv e-prints,Feb.2014.[6] D.I.Shuman,M.J.Faraji,and P.Vandergheynst.A multiscale pyramid transform for graph signals.arXiv preprint arXiv:1308.4942,2013.[7] D.I.Shuman,S.K.Narang,P.Frossard,A.Ortega,and P.Vandergheynst.The emerging?eld of signal processing on graphs:Extendinghigh-dimensional data analysis to networks and other irregular domains.Signal Processing Magazine,IEEE,30(3):83–98,2013.7[8] D.I.Shuman,B.Ricaud,and P.Vandergheynst.A windowed graph Fourier transform.Statistical Signal Processing Workshop(SSP),2012IEEE,pages133–136,2012.[9] D.I.Shuman,B.Ricaud,and P.Vandergheynst.Vertex-frequency analysis on graphs.arXiv preprint arXiv:1307.5708,2013.[10] D.I.Shuman,C.Wiesmeyr,N.Holighaus,and P.Vandergheynst.Spectrum-adapted tight graph wavelet and vertex-frequency frames.arXiv preprint arXiv:1311.0897,2013.[11] A.Susnjara,N.Perraudin,D.Kressner,and P.Vandergheynst.Accelerated?ltering on graphs using lanczos method.arXiv preprintarXiv:1509.04537,2015.[12] F.Zhang and E.R.Hancock.Graph spectral image smoothing using the heat kernel.Pattern Recognition,41(11):3328–3342,2008.[13] D.Zhou,O.Bousquet,/doc/c09ff3e90342a8956bec0975f46527d3240ca692.html l,J.Weston,and B.Sch?lkopf.Learning with local and global consistency.Advances in neural informationprocessing systems,16(16):321–328,2004.[14] D.Zhou,J.Huang,and B.Sch?lkopf.Learning from labeled and unlabeled data on a directed graph.In the22nd international conference,pages1036–1043,New York,New York,USA,2005.ACM Press.[15] D.Zhou and B.Sch?lkopf.A regularization framework for learning from graph data.2004.8。
grafana bar chart阈值线摘要:I.简介- 介绍Grafana Bar Chart- 引入阈值线的概念II.阈值线的设置与使用- 阈值线的定义- 阈值线的设置方法- 阈值线的使用场景III.阈值线的实际应用- 举例说明阈值线的应用- 阈值线在实际项目中的优势IV.结论- 总结Grafana Bar Chart 阈值线的意义- 展望阈值线在未来的发展正文:Grafana 是一款功能强大的开源可视化工具,广泛应用于监控和数据分析领域。
在Grafana 中,Bar Chart 是一种常见的图表类型,用于展示各类数据。
而阈值线则是Bar Chart 的一个附加功能,可以为数据设置一个阈值,从而更好地分析和解读数据。
阈值线是一种自定义的线条,可以放置在Bar Chart 的任意位置,用于表示数据的某个阈值。
阈值线的设置方法很简单,只需在Grafana 的配置界面中,选择需要添加阈值线的图表,然后在图表的属性面板中找到“Threshold Line”选项,输入所需的阈值和颜色即可。
阈值线可以设置为多种颜色,以便在图表中区分不同的阈值。
阈值线的使用场景非常丰富,例如在监控系统中,可以设置阈值线来表示系统运行的正常范围,一旦数据超过阈值,就可以发出警报。
在数据分析中,阈值线可以帮助我们更好地理解数据的分布情况,发现数据的异常值,从而为后续的数据分析和决策提供依据。
以一个简单的例子来说明阈值线的应用。
假设我们有一个关于网站访问量的Bar Chart,通过设置阈值线,我们可以更好地理解访问量的分布情况。
例如,我们可以设置一个阈值线,表示日均访问量的一定比例,如80%。
这样,当访问量超过这个阈值时,我们就可以认为网站的访问量较高,可能需要进一步分析原因;而当访问量低于这个阈值时,我们就可以认为网站的访问量较低,可能需要采取一些措施提高访问量。
总之,Grafana Bar Chart 的阈值线功能为数据可视化提供了更丰富的表达方式,使得我们能够更好地分析和解读数据。
DRAFT 10.0Highlights in JMP 10What’s New in JMP and JMP Pro JMP 10 provides new analysis platforms, major additions to several platforms, and new utilities fordebugging JSL and easily creating JSL applications.DRAFT 10.0ContentsBasic Analysis and Graphing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Bubble Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Graph Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Compare Data Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Embedded Data Filter in Tabulate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Multilingual Sample Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Inverted Selection in Filtered Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Filter Hierarchical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Design of Experiments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Custom Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6Evaluate a Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 General Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Bootstrapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7Column Switcher. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7Graph Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7Menu Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7Local Data Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7Replacing Graph Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7SAS Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Modeling and Multivariate Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Model Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8Nonlinear. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8Partial Least Squares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Partition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Quality and Reliability Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Control Chart Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Measurement Systems Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Reliability Forecast. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Reliability Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Add-In Builder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Highlights in JMP 103 DRAFT 10.0Application Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Enhanced Graphics Scripting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10JSL Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11Scripting Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114Highlights in JMP 10Basic Analysis and Graphing DRAFT 10.0 Basic Analysis and GraphingThis section describes new features and enhancements in the basic analysis and graphing areas.Bubble PlotThe Bubble Plot platform contains the following new options within the red triangle menu:Set Shape changes the shape of the bubble. Choices include Circle (default), Triangle, Square, Diamond, Arrow, or Custom. Custom shapes are created using JSL. If no custom shape is defined, theCustom option defaults to the circle shape.Orient Shapes orients shapes as they move in particular directions over time, following the shape of the data. This option appears only if you have specified a Time variable.Color Theme changes the colors representing the high, middle, and low values of the color variable. This option appears only if you have specified a Coloring variable.Draw the Filled option now resides within this menu, and two new options appear: Outlined and Filled and Outlined.Lock Scales Prevents axis scales and gradient legend scales from automatically adjusting in response to data or filtering changes.Color as Sum Within Aggregation Options, a new option appears: Color as Sum. This option computes the mean of the data values and maps to a color. This option appears only for continuousvariables.The Bubble Plot platform also contains the following enhancements:•If you Split bubbles and then select Script > Redo Analysis, the state of split bubbles is preserved.•If you have excluded rows in your data table, it will no longer contribute to the computation or to the display of the bubble plot, including axes, bubble sizes, and time states.•If you have hidden rows in your data table, they will be used in the computation, but will not be shown in the bubble plot. All rows associated with a bubble must be hidden in order for the bubble todisappear.When exporting a bubble plot to an Adobe Flash file (.swf), note the following enhancements:•Background maps are retained.•You can split or combine bubbles.Graph Builder•Instead of right-clicking on a graph and selecting a new element or changing element properties, you can do so directly from the Graph Builder window. The Graph Builder window now contains icons thatchange the element. Properties for most element types also appear.•The following new elements are supported in Graph Builder:Highlights in JMP 105 DRAFT 10.0Data T ables –Regression line, or line of fit–Density ellipse–Violin plot (appears in place of a Contour plot when there is only 1 continuous variable)–Pie chart–Shaded area–T reemap–Heatmap–Caption box–Function•You can nest categorical X variables, resulting in nested X axes.Data TablesThis section describes new features and enhancements to data tables.Compare Data TablesThe Compare Data Tables platform enables you to compare two data tables. You can compare differences in the data, table variables and scripts, and column attributes and properties.To launch the Compare Data Tables platform, select Tables > Compare Data Tables.Embedded Data Filter in TabulateTo open the embedded Data Filter in Tabulate, select Show Data Filter from the red triangle menu next to Tabulate.Why did we do this? What benefit is this to users?Multilingual Sample Data TablesFor any translated sample data tables, instead of providing three sets of sample data tables for English,Japanese, and Chinese, we now have one set of sample data. The data table names are in English. When you open a translated sample data table, your locale settings are detected and the content in the data tableappears in the appropriate language (English, Japanese, or Chinese).Inverted Selection in Filtered DataIn filtered data, you can select excluded columns using the Invert Selection message. For example, if males between the ages of 12 and 14 are filtered, select males of other ages:df << (Filter Column (:age) << Invert Selection;6Highlights in JMP 10Design of Experiments DRAFT 10.0 Filter Hierarchical DataData that consists of subcategories within categories is considered hierarchical data. For example,geographical regions might contain states. The Data Filter Hierarchical red triangle option lets you filterdata so that the second filtered list shows only subcategories of the first filtered list.Design of ExperimentsThis section describes new features and enhancements in the design of experiments area.Custom DesignThe Custom Design platform has the following new features:•Factors can now be of Discrete Numeric type. This is a numeric variable that can take only a discrete number of values. Discrete Numeric factors have an implied order for their levels.•The Number of Center Points and Number of Replicates options are now specified before the clicking the Make Design button. This is done so the optimization routine can return a design thataccounts for the center points and replicates. The Number of Replicates option no longer replicates theentire design, but specifies how many replicate runs to add to the design. The optimization routinedecides which design points to replicate.•The Custom Designer now supports I-optimal split-plot designs. When creating response surface designs using an optimal design approach, the I-optimality criterion can be more appropriate than theD-optimality criterion. You can use I-optimal split-plot designs to address response surface experimentswith restricted randomization.To create an I-optimal split-plot design, select DOE > Custom Design. From the red triangle menu,select Optimality Criterion > Make I-Optimal Design.Evaluate a DesignUse the Evaluate Design command to evaluate designs for any table treated as a design. From the results, you can change the model terms and the aliasing terms and the diagnostics update accordingly. To evaluatea design, select DOE > Evaluate Design.General EnhancementsGeneral enhancements include changes that affect multiple platforms or areas.Highlights in JMP 107 DRAFT 10.0General Enhancements BootstrappingBootstrapping approximates the sampling distribution of a statistic. The data is resampled (withreplacement) and the statistic is computed. This process is repeated to produce a distribution for thestatistic. To access the bootstrapping option, right-click on a statistic in a report and select Bootstrap.Note: Bootstrapping is available in many platforms, but is available only in JMP Pro.Column SwitcherWithin a report, use the Column Switcher to change an existing variable to another variable. To activate the Column Switcher, from a report window, click on the red triangle menu. Select Script > Column Switcher. Graph PreferencesThere is a new panel called Graphs in the Preferences window. The Graphs panel includes the following:•preferences for graphs that existed previously in the Reports panel•new options pertaining to areas such as borders, framing, tick marks, and grid lines• a preview area where you can see your changes before applying themTo see Graph preferences, select File > Preferences > Graphs.Menu PreferencesThe Menu preferences show and hide menus based on how you use JMP. This gives you fewer menu items to browse through and streamlines the JMP interface. For example, if you never design experiments, deselect Design of Experiments. Other menus are grouped by area of interest, such as quality engineering,reliability and survival, and SAS options.Local Data FilterThe Data Filter normally modifies the row states in a data table. If you do not want to modify the row states in your data table, use the Local Data Filter option. This option embeds the Data Filter within a reportwindow and does not affect or alter the associated data table or other associated reports.To access this option, from a report window, click on the red triangle menu. Select Script > Local DataFilter.Replacing Graph VariablesTo replace variables in a graph, you can drag and drop a variable. For example, in the Bivariate report, you can swap variables by dragging and dropping a variable from one axis to the other axis. Or, you can click ona variable in the Columns panel of the data table and drag it onto an axis.8Highlights in JMP 10Modeling and Multivariate Methods DRAFT 10.0 The following platforms support dragging and dropping a variable from an axis or from a data table into a graph:•Fit Y by X: Bivariate, Contingency•Graph: Contour Plot, Scatterplot Matrix•Quality and Process: Measurement Systems Analysis, VariabilityThe following platforms support dragging and dropping a variable from a data table into a graph:•Distribution•Fit Y by X: Logistic, OnewayIn the Distribution platform, when you drag a variable from the data table, drop it into the axis to replace the existing variable. To insert a new variable and create a new histogram, drag and drop the variable outside of an existing histogram. The new variable can be placed before, between, or after the existing histograms.Note: In the Distribution platform, remove a variable by selecting Remove in the red triangle menu. SAS SupportJMP 10 fully supports SAS 9.3, including the ability to specify the default SAS mid-tier (or environment), metadata server, or workspace server in the JMP preferences.When browsing data on a SAS server, you can select Get Details to see a data set’s size and the lastmodification date for all data sets in the library.Modeling and Multivariate MethodsThis section describes new features and enhancements in the modeling and multivariate methods area. Model ComparisonThe Model Comparison platform is used to compare the fit of different models. Measures of fit, diagnostic plots, and profilers are reported for easy comparison of models. You can combine the models through model averaging to achieve better predictive ability. The platform accepts models for both continuous andcategorical responses.To launch the Model Comparison platform, select Analyze > Modeling > Model Comparison.Note: The Model Comparison platform is available only in JMP Pro.NonlinearThe Fit Curve platform is a new personality of the Nonlinear platform. The Fit Curve platform provides tools for fitting a suite of nonlinear models without having to specify prediction formulas or starting values.Highlights in JMP 109 DRAFT 10.0Quality and Reliability Methods After fitting one or more models, you can compare parameter estimates, test for parallelism, and compare different fits. The Fit Curve platform features a variety of different built-in models, including several that are popular for bioassay and pharmacokinetic data analysis.To launch the Fit Curve platform, select Analyze > Modeling > Nonlinear. Provide a column of numeric data (with no predictor formula) in the X, Predictor Formula role.Partial Least Squares•The Partial Least Squares platform now uses validation to assess model fit and determine the number of latent factors. Cross validation methods include Holdback and KFold. To access the Partial LeastSquares platform, select Analyze > Multivariate Methods > Partial Least Squares.•The Fit Model platform contains a new PLS personality. The PLS personality can fit models using categorical input variables and can include transformations on continuous variables. Models can alsoinclude interaction and polynomial terms. To access the PLS personality in Fit Model, select Analyze >Fit Model then select PLS from the Personality menu.Note: The PLS personality in Fit Model is available only in JMP Pro.PartitionThe Show Split Count red triangle option shows or hides each frequency level for all nodes in the tree. This is for categorical responses only.Quality and Reliability MethodsThis section describes new features and enhancements in the quality and reliability methods area. Control Chart BuilderThe Control Chart Builder is a new platform for interactively creating control charts. The interface featuresa drag-and-drop workspace. You can quickly add or remove variables from the chart, use multiple Ys, addphase variables, or change chart types. This allows for easy exploration of data. The platform creates X-Bar, IR, Range, Standard Deviation charts, and Moving Range charts.To launch Control Chart Builder, select Analyze > Quality and Process > Control Chart Builder. Measurement Systems AnalysisThe Measurement Systems Analysis platform provides methods for assessing the variation in yourmeasurement system and gauges. You can study parallelism, bias, compute variance components, and study the increment resolution of your system.10Highlights in JMP 10Scripting DRAFT 10.0 To launch the Measurement Systems Analysis platform, select Analyze > Quality and Process >Measurement Systems Analysis.Reliability ForecastThe Reliability Forecast platform uses historical product failure data to forecast warranty returns and repair costs. You can interactively investigate different combinations of warranty length and production volumes to see the impact on forecasted repairs.To launch the Reliability Forecast platform, select Analyze > Reliability and Survival > ReliabilityForecast.Reliability GrowthThe Reliability Growth platform performs Crow-AMSAA analysis of a repairable system. This platform is useful for analyzing the mean time between failures (MTBF) and cumulative failure counts for a systemwith multiple stages, where a single model is not adequate to describe the entire time line.To launch the Reliability Growth platform, select Analyze > Reliability and Survival > Reliability Growth. ScriptingThis section describes new features and enhancements in the scripting area.Add-In BuilderThe Add-In builder simplifies creating a JMP add-in. Rather than creating add-ins manually, you select File > New > Add-In and begin specifying the add-in name, menu item name, JSL script, and other options. Application BuilderThe Application Builder is a drag-and-drop interface that lets you visually design new JMP windows with buttons, lists, graphs, and other objects. This saves you the step of writing scripts to create these objects.JMP then guides you through writing scripts that provide functionality to the objects.For example, you often perform the same tasks everyday (such as running Distribution and Fit Modelanalyses on a data table and viewing the results). In the Application Builder, you can create an application that shows the results for both analyses in one window rather than in separate platform windows.Create a new application by selecting File > New > Application.Enhanced Graphics ScriptingMany features of graphs that are generated by JMP are available in graphs generated by JSL (for example, clickable markers, curves, smooth line styles, and density gradient fills).Highlights in JMP 1011 DRAFT 10.0ScriptingJSL DebuggerThe JSL Debugger helps identify the point at which a script causes an error or fails. Rather thancommenting portions of the script or adding Print() statements, you can use the debugger to find theproblem.A variety of debugging methods are available: setting breakpoints, creating watches, stepping throughstatements, and other typical debugging options.To open the JSL Debugger within a script, click the Debug Script button, or right-click and select Debug Script.Script EditorThe Script Editor features drag-and-drop editing, and more syntax coloring for SAS code. And you can now see the script and log in the same window. To access the split window, right-click in the script and selectShow Embedded Log.Scripting IndexThe JSL Functions Index, DisplayBox Scripting Index, and Object Scripting Index are now in onesearchable index. Search for functions, objects, display boxes, or search all categories. You can customizeyour query to limit the search to examples, titles, and the like. Regular expressions are also supported inqueries.Open the Scripting Index by selecting Help > Scripting Index.•。
文件系统驱动编程基础篇之六——DirectShow一、前略本系列文章为业余编程爱好者而写,仅仅作为初学者的一个借鉴,真正的精华存在于参考资料*中。
知识的积累将经历从薄到厚,再从厚到薄的反复过程,为了打下牢固的基础,请读者务必在阅读本文的基础上花费必要的时间完成参考资料。
参考资料*:1.《Programming Microsoft DirectShow for Digital Video and Television》及其示例代码2.《DirectShow for DirectX 8.1 SDK C++》3. Microsoft® Windows®Software Development Kit Update for Windows Vista™之相关文档及其示例代码4.《DirectShow开发快速入门之慨述》5.《深入解析ATL (A TL Internals Second Edition ——Working with ATL 8)》6.《COM 组件设计与应用(一)起源及复合文件》(/document/viewdoc/?id=1483)阅读基础:少量的COM编程的基础知识,了解如何调用COM组件的方法,最好掌握哪怕一丁点的ATL。
本章目的:了解DirectX组件架构,学习编写简单的DirectShow程序。
二、DirectX与DirectShow首先看下面两段关于DirectX和DirectShow相关内容的摘要:DirectX的第一个版本作为Windows Games SDK发布于1995年9月,它作为Windows API的一部分用以替换Windows 3.1中的DCI和WinGAPI。
ATI的一个开发团队为微软带来了基本的游戏影像技术,微软方面,DirectX由专门的团队负责开发,Eisler 为团队领导,而St. John 和Engstrom则成为主程序设计师。
2005年4月,DirectShow从DirectX移除,加入到Microsoft Platform SDK。
Matlab中的关联规则挖掘方法介绍引言关联规则挖掘是一种数据挖掘技术,它通过分析数据集中的项集之间的频繁关联程度,发现其中的规律和关系。
在商业领域,关联规则挖掘常用于市场篮子分析,帮助企业理解产品间的关联性,从而优化营销策略。
在本文中,我们将介绍如何使用Matlab中的工具包进行关联规则挖掘,并讨论一些应用案例。
一、数据预处理在进行关联规则挖掘之前,必须先对数据进行预处理。
这包括数据清洗、转换和归一化等步骤。
在Matlab中,可以使用数据统计、数据导入和数据清洗工具箱来完成这些任务。
首先,我们需要确认数据集的格式,并使用适当的函数来读取数据。
然后,我们可以使用数据清洗工具箱中的函数来删除重复数据、填充缺失值,并进行必要的数据转换和归一化。
二、关联规则挖掘算法Matlab提供了多种关联规则挖掘算法,包括Apriori算法、Eclat算法和FP-growth算法等。
这些算法可用于发现频繁项集,并利用频繁项集生成关联规则。
以下是对其中几种算法的简要介绍:1. Apriori算法Apriori算法是关联规则挖掘中最常用的算法之一。
它通过逐层搜索频繁项集来发现关联规则。
具体而言,Apriori算法首先生成所有的单个项的频繁项集,再通过连接和剪枝操作生成更高维度的频繁项集,直到不再有频繁项集产生为止。
2. Eclat算法Eclat算法是一种基于垂直数据存储结构的关联规则挖掘算法。
它通过对数据集进行垂直方向的投影来寻找频繁项集。
具体而言,Eclat算法将数据集按照项的不同取值进行分组,并使用交集操作来寻找频繁项集。
3. FP-growth算法FP-growth算法是一种基于前缀树(Prefix Tree)结构的关联规则挖掘算法。
它通过构建一颗FP树(Frequency Pattern Tree)来寻找频繁项集,并利用FP树生成关联规则。
具体而言,FP-growth算法首先扫描数据集,统计每个项的频次,然后根据频次构建FP树,并进行频繁项集的挖掘。