“qt” is a cross-platform application framework that is used to develop application software. it...

1
“Qt” is a cross-platform application framework that is used to develop application software. It can be run on various software and hardware platforms with little or no change in the underlying codebase, while having the power and speed of the native applications. There are a number of uses of the Qt in the computer field generally and software development field specifically. Some of the uses of Qt include Hybrid Desktop/Internet Applications, using Qsound and Qmovie to play music and video, creation of rich text document, creating graphics and viewing scenes, combining animations and state machines. Abstract The primary target of this project is to extract data from an excel file that contains the needed information. This excel file contains the system name, total steps of conversion, atoms, species (elements), number of bins, maximum distance, distance and individual Radial Distribution Function (RDF) of the elements. Radial Distribution Function (RDF), also called pair correlation function, defines the probability of finding an atom at a distance, r, from a reference atom. It represents the average radial packing of the atoms and is used to characterize the structure of the complex systems such as liquids and colloidal suspension. Extracting information from an excel file using any programming language is quite tedious, however with the appropriate documentation of Qt this operation is made much easier. The excel file is named “Model Basalt”. However, to ensure simplicity and appropriate parsing of the file, it is converted to a text file. Below is a copy of the converted excel file (.csv) now text file (.txt). Using the QT application platform we are able to read the file and parse it such that the commas in the text files are eliminated. Introduction Discussion Blanchette J and Summerfield M., (2013), C++ GUI Programming with Qt 4, Second Edition, 325, 100 – 120 Norman .D. , The Design of Everyday Things, Qt 4, (2012), 280, 120 – 150 Fowler .S., GUI Design Handbook (2012), 290, 168-184 Gamma, Helm, Johnson, Vlissides, Design Patterns – Elements of Reusable Object- Oriented Software. Conclusions The essence of this project is to enable the audience gain more insight about the system which we are working with. With scientific visualization we try to understand the data and enable an interactive display. We also make use of the AtomViz documentation. This documentation has several modules to provide different tools and environments for the analysis and visualization of the atomistic simulation data. Acknowledgement Louisiana State University, Computer Science and Engineering, Baton Rouge, LA Visualization of Atomic Level Material Structure using Qt Cross-platform Victor Opurum Coding in the Qt Creator community can be done using a variety of programming languages We generally make use of C++ algorithm and source code. The document which contains the necessary information needed for graphical representation displays the five species of element present thus, Calcium, Magnesium, Aluminum, Silicon and Oxygen. As shown below, the system name is “Model Basalt”, there are 51192 total entities in the file even though the picture shows just a part. There are 100 values for distance (r) as well as a hundred for values preceding Ca-Ca, Ca-Mg, Ca-Al, Ca-Si, Ca-O, Mg- Mg. Mg-Al respectively. These values are referred to as bins, and our latter graph makes use of this tool in getting the appropriate data points. Below is a picture of the atomic configuration of certain elements. Atomic configuration in a supercell (represented by box) is replicated and rendered along each direction around the box. The colored spheres represents atoms of different species. Methods Results References Below is an image of the Qt creator community. It is a very well documented cross platform, and easily adaptable. It is also available in windows and mac. The Qt Creator has several operations, some of which include the Qt Graphic User Interface (Gui) application platform, the windows and desktop application as well as non-Qt Creator platforms where the C++ can be imported directly and run successfully. Qt is also used to make android and blackberry mobile and desktop applications. Qt is developer oriented, it is created to ensure that developers are able to target multiple platforms with one framework by reusing code. It is aimed at creating a better freedom for the developer where they can “code less, create more and deploy everywhere”. The graph above represents the Radial Distribution Function of the elements Aluminum, Magnesium, Calcium, Silicon and Oxygen. The x axis contains the distance(r), while the y axis are littered with RDF values from the CaCa line of the file. The QCustomPlot is a Qt C++ widget for plotting graphs and data visualization. It is not dependent upon any component and just like Qt itself it is fully documented. This plotting library, Qt Custom plot is focused on making an organized and great looking, publication quality 2D plots, graphs and charts, as well as giving off a high performance for real time visualization applications. The Q Custom Plot can also export to various formats which include vectorized PDF files and images such In using the QtCustom Plot to get specific data points and plot a graph, we make use of C++ source codes. As seen above, first read the each line of the file up to the eight line and then we store the desired line in lineStr. The ui- >customPlot is important as we are working with user interfaces that are being imported. With Qt, life is made easier for the end user. It is a cross-platform user experience in which software can be developed and your technology strategy should be based on a simple creation of connected devices, User Interfaces (Uis) and applications that run anywhere on any device, on any operating system at any given time. Above is a screenshot of the mainwindow.cpp folder. Preprocessor directives such as <QTextStream> and <Qfile> have been imported to ensure that the file can be successfully read. The main function used is the makePlot and the <QMessageBox> is present to make sure the file is successfully open and the string component does not prevent it’s readability. This research was done by a Howard Hughes Medical Institute grant through the Undergraduate Biological Science Education Program. The author would like to thank Mr. Bidur Bohara, Dr. Jiang Zhang and Dr. Bijayi Karki for the opportunity to work with them and their enormous sacrifice and assistance throughout the course of the research. The aim of the project is to represent data extracted from the excel file in a graphical form. Using the imported Qcustom files downloaded from the Qcustom plot website, this result is achieved. First, the Qvector <double> function prototype contains the maximum size of the graph while the both axes of the graphs are labelled using setLabel. The x and y values are passed into the makePlot main window and we also set visible ranges for the graph. The range of the x axis as shown below is between 0-5, while the one for the y-axis is 0-2. In Qt we make use of the setRange code to achieve these. Below is the graph of the RDF against the distance of the five elements. In other to ensure that each graph has its own data point, the widgets are promoted to “qcustom plot” but are named qcustomplot1, qcustomplot2, qcustomplot3, qcustomplot4 respectively. The main execution of our project of data scientific visualization is executed by the use of C++ programming codes. First we click on the file button and then we open up a new project. This project typically contains the plotting.pro section, header section in which we import the qcustom.h file and the already have the already existent mainwindow.h folder. We also notice the sources section which typically contains the main.cpp and mainwindow.cpp folders, the qcustomplot.cpp is also imported into this section. The last section on the Qt Creator is the “forms” section and it contains the mainwindow.ui folder. The graph is designed in this section by the addition of widgets and promoting the slots to make it compatible with the make plot folder.

Upload: meryl-hancock

Post on 08-Jan-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “Qt” is a cross-platform application framework that is used to develop application software. It can be run on various software and hardware platforms with

“Qt” is a cross-platform application framework that is used to develop application software. It can be run on various software and hardware platforms with little or no change in the underlying codebase, while having the power and speed of the native applications. There are a number of uses of the Qt in the computer field generally and software development field specifically. Some of the uses of Qt include Hybrid Desktop/Internet Applications, using Qsound and Qmovie to play music and video, creation of rich text document, creating graphics and viewing scenes, combining animations and state machines.

AbstractThe primary target of this project is to extract data from an excel file that contains the needed information. This excel file contains the system name, total steps of conversion, atoms, species (elements), number of bins, maximum distance, distance and individual Radial Distribution Function (RDF) of the elements. Radial Distribution Function (RDF), also called pair correlation function, defines the probability of finding an atom at a distance, r, from a reference atom. It represents the average radial packing of the atoms and is used to characterize the structure of the complex systems such as liquids and colloidal suspension. Extracting information from an excel file using any programming language is quite tedious, however with the appropriate documentation of Qt this operation is made much easier. The excel file is named “Model Basalt”. However, to ensure simplicity and appropriate parsing of the file, it is converted to a text file. Below is a copy of the converted excel file (.csv) now text file (.txt). Using the QT application platform we are able to read the file and parse it such that the commas in the text files are eliminated.

Introduction Discussion

Blanchette J and Summerfield M., (2013), C++ GUI Programming with Qt 4, Second Edition, 325, 100 – 120Norman .D. , The Design of Everyday Things, Qt 4, (2012), 280, 120 – 150Fowler .S., GUI Design Handbook (2012), 290, 168-184Gamma, Helm, Johnson, Vlissides, Design Patterns – Elements of Reusable Object- Oriented Software.

ConclusionsThe essence of this project is to enable the audience gain more insight about the system which we are working with. With scientific visualization we try to understand the data and enable an interactive display. We also make use of the AtomViz documentation. This documentation has several modules to provide different toolsand environments for the analysis and visualization of the atomistic simulation data.

Acknowledgement

Louisiana State University, Computer Science and Engineering, Baton Rouge, LA

Visualization of Atomic Level Material Structure using Qt Cross-platform Victor Opurum

Coding in the Qt Creator community can be done using a variety of programming languages We generally make use of C++ algorithm and source code. The document which contains the necessary information needed for graphical representation displays the five species of element present thus, Calcium, Magnesium, Aluminum, Silicon and Oxygen. As shown below, the system name is “Model Basalt”, there are 51192 total entities in the file even though the picture shows just a part. There are 100 values for distance (r) as well as a hundred for values preceding Ca-Ca, Ca-Mg, Ca-Al, Ca-Si, Ca-O, Mg-Mg. Mg-Al respectively. These values are referred to as bins, and our latter graph makes use of this tool in getting the appropriate data points.Below is a picture of the atomic configuration of certain elements. Atomic configuration in a supercell (represented by box) is replicated and rendered along each direction around the box. The colored spheres represents atoms of different species.

Methods

Results

References

Below is an image of the Qt creator community. It is a very well documented cross platform, and easily adaptable. It is also available in windows and mac. The Qt Creator has several operations, some of which include the Qt Graphic User Interface (Gui) application platform, the windows and desktop application as well as non-Qt Creator platforms where the C++ can be imported directly and run successfully. Qt is also used to make android and blackberry mobile and desktop applications. Qt is developer oriented, it is created to ensure that developers are able to target multiple platforms with one framework by reusing code. It is aimed at creating a better freedom for the developer where they can “code less, create more and deploy everywhere”.

The graph above represents the Radial Distribution Function of the elements Aluminum, Magnesium, Calcium, Silicon and Oxygen. The x axis contains the distance(r), while the y axis are littered with RDF values from the CaCa line of the file.

The QCustomPlot is a Qt C++ widget for plotting graphs and data visualization. It is not dependent upon any component and just like Qt itself it is fully documented. This plotting library, Qt Custom plot is focused on making an organized and great looking, publication quality 2D plots, graphs and charts, as well as giving off a high performance for real time visualization applications. The Q Custom Plot can also export to various formats which include vectorized PDF files and images such as PNG, JPG and BMP. All these outputs are the same and uniform across the supported formats.

In using the QtCustom Plot to get specific data points and plot a graph, we make use of C++ source codes. As seen above, first read the each line of the file up to the eight line and then we store the desired line in lineStr. The ui->customPlot is important as we are working with user interfaces that are being imported.

With Qt, life is made easier for the end user. It is a cross-platform user experience in which software can be developed and your technology strategy should be based on a simple creation of connected devices, User Interfaces (Uis) and applications that run anywhere on any device, on any operating system at any given time.

Above is a screenshot of the mainwindow.cpp folder. Preprocessor directives such as <QTextStream> and <Qfile> have been imported to ensure that the file can be successfully read. The main function used is the makePlot and the <QMessageBox> is present to make sure the file is successfully open and the string component does not prevent it’s readability.

This research was done by a Howard Hughes Medical Institute grant through the Undergraduate Biological Science Education Program. The author would like to thank Mr. Bidur Bohara, Dr. Jiang Zhang and Dr. Bijayi Karki for the opportunity to work with them and their enormous sacrifice and assistance throughout the course of the research.

The aim of the project is to represent data extracted from the excel file in a graphical form. Using the imported Qcustom files downloaded from the Qcustom plot website, this result is achieved. First, the Qvector <double> function prototype contains the maximum size of the graph while the both axes of the graphs are labelled using setLabel. The x and y values are passed into the makePlot main window and we also set visible ranges for the graph. The range of the x axis as shown below is between 0-5, while the one for the y-axis is 0-2. In Qt we make use of the setRange code to achieve these. Below is the graph of the RDF against the distance of the five elements. In other to ensure that each graph has its own data point, the widgets are promoted to “qcustom plot” but are named qcustomplot1, qcustomplot2, qcustomplot3, qcustomplot4 respectively.

The main execution of our project of data scientific visualization is executed by the use of C++ programming codes. First we click on the file button and then we open up a new project. This project typically contains the plotting.pro section, header section in which we import the qcustom.h file and the already have the already existent mainwindow.h folder. We also notice the sources section which typically contains the main.cpp and mainwindow.cpp folders, the qcustomplot.cpp is also imported into this section. The last section on the Qt Creator is the “forms” section and it contains the mainwindow.ui folder. The graph is designed in this section by the addition of widgets and promoting the slots to make it compatible with the make plot folder.