4. Behavioral Requirements - The University of Texas at El Paso

VSeT Software Requirements Specification
Visualization for Seismic Tomography (VSeT)
Software Requirements Specification
Version 0.10
01/22/2011
UTEP Software Engineering 2011
Date
Page
January 23
i
, 2011
VSeT Software Requirements Specification
Document Control
Approval
The Guidance Team and the customer shall approve this document.
Document Change Control
Initial Release:
Current Release:
Indicator of Last Page in Document:
Date of Last Review:
Date of Next Review:
Target Date for Next Update:
0.01
0.10
♦
01/21/11
01/24/11
Distribution List
This following list of people shall receive a copy of this document every time a new version of this document
becomes available:
Guidance Team Members:
Dr. Steve Roach
Dr. Guoqiang Hu
Dr. Yoonsik Cheon
Mr. Chris Cuellar
Mr. Cesar Yeep
Mr. Jaime Mendez
Ms. Erika Ollivier
Customer:
Dr. Rodrigo Romero
Change Summary
The following table details changes made between versions of this document
Version
Date
Modifier
Description
Merging definitions, abbreviations and
0.01
12/28/2010
Jaime A. Mendez
requirements
0.02
1/4/11
Steve Roach
Complete review
Started Hole’s Code file structure Appendix C
and added Appendix D- Visualization
0.03
1/9/11
Jaime A. Mendez
Models, examples inputs/scripts. Sections 1.1,
1.2,1.3
0.04
1/10/11
Steve Roach
Introduction, Section 2.1
0.05
1/15/11
Jaime A. Mendez
Review Use Cases, File Structure
0.06
1/17/11
Erika Ollivier
Added hardware and software requirements
0.07
1/17/11
Steve Roach
Section 3, parts of section 4
0.08
1/19/2011
Steve Roach
Section 4 draft
Erika Ollivier and Jaime
0.09
1/21/2011
Edit use cases and definitions.
A. Mendez
0.09a
1/22/2011
Jaime A. Mendez
Edit Use Cases and section 4.2
0.10
1/22/2011
Steve Roach
Review of sections 1, 4, 5, and appendices
UTEP Software Engineering 2011
Date
Page
January 23
ii
, 2011
VSeT Software Requirements Specification
TABLE OF CONTENTS
DOCUMENT CONTROL ................................................................................................................... II
Approval ......................................................................................................................................................... ii
Document Change Control .............................................................................................................................. ii
Distribution List .............................................................................................................................................. ii
Change Summary ............................................................................................................................................ ii
1.
INTRODUCTION .................................................................................................................... 6
1.1.
Purpose and Scope of Product ............................................................................................................. 6
1.2.
Intended Audience .............................................................................................................................. 6
1.3.
Overview ............................................................................................................................................. 6
1.4. Definitions, Acronyms, and Abbreviations ........................................................................................... 7
1.4.1.
Definitions ..........................................................................................................................................7
1.4.2.
Acronyms and Abbreviations ............................................................................................................10
1.5.
References......................................................................................................................................... 10
2.
GENERAL DESCRIPTION................................................................................................... 11
2.1.
Product Perspective ........................................................................................................................... 11
2.2.
Product Features ............................................................................................................................... 12
2.3. Use Cases........................................................................................................................................... 12
2.3.1.
Use Case 1: Manage Workspace.......................................................................................................13
2.3.1.1.
Scenario 1: Select Workspace ...................................................................................................13
2.3.1.2.
Scenario 2: Save Workspace .....................................................................................................14
2.3.1.3.
Scenario 3: Close Workspace ....................................................................................................14
2.3.1.4.
Scenario 4: Import Experiment .................................................................................................15
2.3.1.5.
Scenario 5: Remove Experiments .............................................................................................15
2.3.2.
Use Case 2: Visualize 3D Model(s) ....................................................................................................16
2.3.2.1.
Scenario 1: Display Model ........................................................................................................16
2.3.2.2.
Scenario 2: Close Model Display ...............................................................................................17
2.3.2.3.
Scenario 3: Camera View Manipulation ...................................................................................17
2.3.2.4.
Scenario 4: Save Model Visualization Image ............................................................................18
2.3.2.5.
Scenario 5: Slice Model .............................................................................................................18
2.3.2.6.
Scenario 6: Change Scale Color .................................................................................................19
2.3.3.
Use Case 3: Synchronize 3D Models .................................................................................................19
2.3.3.1.
Scenario 1: Add Model Visualization Window to Synchronization Group ................................20
2.3.3.2.
Scenario 2: Remove Synchronization Group ............................................................................20
UTEP Software Engineering 2011
Date
Page
January 23
iii
, 2011
VSeT Software Requirements Specification
2.3.4.
Use Case 4: Animate Models ............................................................................................................21
2.3.4.1.
Scenario 1: Create Animation ...................................................................................................21
2.3.4.2.
Scenario 2: Play Animation .......................................................................................................22
2.4. User Characteristics ........................................................................................................................... 23
2.4.1.
User ..................................................................................................................................................23
2.4.2.
STg File System .................................................................................................................................23
2.5.
Operating Environment ..................................................................................................................... 23
2.6.
General Constraints ........................................................................................................................... 23
2.7.
Assumptions and Dependencies ........................................................................................................ 23
3.
EXTERNAL INTERFACE REQUIREMENTS ................................................................... 24
3.1. User Interfaces .................................................................................................................................. 24
3.1.1.
General User Interface Requirements ..............................................................................................24
3.1.2.
Menus ...............................................................................................................................................24
3.1.3.
Workspace Windows ........................................................................................................................24
3.1.4.
Animations ........................................................................................................................................26
3.1.5.
Synchronization Windows ................................................................................................................26
3.2.
Hardware Interfaces .......................................................................................................................... 27
3.3.
Software Interfaces ........................................................................................................................... 27
3.4.
Communications Interfaces ............................................................................................................... 28
4.
BEHAVIORAL REQUIREMENTS ...................................................................................... 29
4.1.
Same Class of User............................................................................................................................. 29
4.2. Related Real-world Objects ............................................................................................................... 29
4.2.1.
Iteration ............................................................................................................................................29
4.2.2.
Shot point .........................................................................................................................................29
4.2.3.
Models ..............................................................................................................................................29
4.3. Stimulus ............................................................................................................................................ 30
4.3.1.
General User Interface Requirements ..............................................................................................30
4.3.2.
Menus ...............................................................................................................................................30
4.3.3.
Workspace Windows ........................................................................................................................31
4.3.4.
Synchronize Windows ......................................................................................................................32
4.3.5.
Toolbar Modes..................................................................................................................................32
4.3.5.1.
Video Options ...........................................................................................................................33
4.3.6.
Create Animation ..............................................................................................................................33
4.4. Related Features ............................................................................................................................... 34
4.4.1.
Convergence .....................................................................................................................................34
4.4.2.
Iso-surfaces .......................................................................................................................................34
UTEP Software Engineering 2011
Date
Page
January 23
iv
, 2011
VSeT Software Requirements Specification
4.5.
Functional.......................................................................................................................................... 34
5.
NON-BEHAVIORAL REQUIREMENTS............................................................................ 35
5.1.
Performance Requirements ............................................................................................................... 35
5.2.
Security ............................................................................................................................................. 35
5.3. Qualitative Requirements.................................................................................................................. 35
5.3.1.
Availability ........................................................................................................................................35
5.3.2.
Maintainability..................................................................................................................................35
5.3.3.
Portability .........................................................................................................................................35
5.3.4.
Design and Implementation Constraints ..........................................................................................35
6.
OTHER REQUIREMENTS .................................................................................................. 36
6.1.
Database ........................................................................................................................................... 36
6.2.
Operations......................................................................................................................................... 36
6.3.
Site Adaptation.................................................................................................................................. 36
7.
APPENDIX A: ANALYSIS MODELS .................................................................................. 37
7.1.
Data Flow Diagram ............................................................................................................................ 37
7.2. State Diagrams .................................................................................................................................. 38
7.2.1.
System State Diagram.......................................................................................................................38
7.2.2.
Visualizing Sub-state Diagram ..........................................................................................................38
7.2.3.
Animating Sub-state Diagram ...........................................................................................................39
7.3.
Class Diagram .................................................................................................................................... 40
8.
APPENDIX B: HOLE’S CODE FILE SYSTEM STRUCTURE......................................... 41
9.
APPENDIX C: VISUALIZATION MODELS (INPUT & SCRIPT FILES) ..................... 44
10.
APPENDIX D: VELOCITY MODEL ................................................................................... 45
11.
APPENDIX E: TIME 3D MODEL ....................................................................................... 48
12.
APPENDIX F: COVERAGE MODEL .................................................................................. 53
13.
APPENDIX G: PERTURBATIONS MODEL ..................................................................... 56
UTEP Software Engineering 2011
Date
Page
January 23
v
, 2011
VSeT Software Requirements Specification
1.
Introduction
1.1.
Purpose and Scope of Product
The purpose of this Software Requirements Specification (SRS) document is to provide a detailed
description of the system that will be produced. This document is a clear description of the project, its
requirements, analysis models, and the general issues found while gathering all the requirements and analyzing
the specifications. The system that shall be produced is called Visualization for Seismic Tomography (VSeT);
this tool will be used to visualize the 3D Models from Hole’s code output files.
This SRS document will serve as a reference during the software development and design stages for
the project, and it will help tracing any given specification. It will also allow the client to obtain an overview of
the project and the main functions that will be performed within the system. The SRS is divided into several
sections and subsections to provide the audience an easier and clearer overview of the system’s requirements.
To explain any words used throughout the document we provide a definitions, acronyms and abbreviations
section. This SRS divides the system requirements into four sections; external interface requirements,
behavioral requirements, non-behavioral requirements and other requirements.
Seismic Tomography is a procedure used by seismologists and geologists to analyze the structure of
the crust of the Earth. Seismic waves are traced from receivers (seismographs or geophones) to sources, which
may be natural or induced. In the tomography procedure, the propagation of seismic waves is predicted based
on a model of the Earth’s structure. Measured travel time is compared to the predicted travel time, and the
model is adjusted to minimize the difference between these times. The process is iterative and highly dependent
on the starting model. The VSeT tool will provide visualization capabilities for the intermediate models and
associated convergence information. The purpose of the software is to give scientists the ability to view the
seismic modeling process, to compare successive models, and to determine if the process is converging on a
stable solution that matches available data. The main objective of this project is to create a seismic tomography
visualization tool that will allow geologists, scientists, and engineers to further their knowledge in the study of
the Earth’s crust structure.
1.2.
Intended Audience
The Software Requirements Specification document (SRS) is intended to establish the key
requirements necessary to develop VSeT. The SRS will guide the project team through the development process
and will serve as an agreement between the project team and the client. The intended audience of this SRS is the
client, the guidance team, and the members of the development team. The client audience includes Dr. Rodrigo
Romero and all the geologists and scientists at the Cyber-SHaRE Center of Excellence currently involved in the
seismic tomography project. The guidance team includes Dr. Yoonsik Cheon, Dr. Guoqiang Hu, Chris Cuellar,
and Cesar Yeep. The development team audience is the project team involved in creating the VSeT. This SRS
assumes that the intended audience has general knowledge of seismic tomography and computer science.
1.3.
Overview
Section 1 of the SRS identifies the software product to be produced, what it will do, and the uses for the
software, including benefits, objectives and goals. It states the intended audience of the SRS. A list of terms and
definitions that may be required or helpful to the intended audience is provided. It also gives a list of used
acronyms and abbreviations with their associated definitions, along with a list of referenced documents. Section
2 provides a description of this product, where it fits into the Cyber-SHaRE structure, and what functionality is
provided by this product.
Sections 3, 4, 5, and 6 provide precise, numbered requirements for the system. In Section 3, the
requirements for external interfaces, including user interfaces and software interfaces, are described. Section 4
provides specification of behavioral requirements for the system. Section 5 provides specifications of nonbehavioral requirements. Section 6 specifies the logical requirements needed in order to store information into a
database. It also specifies the normal and special operations required by the user, and site adaptation
requirements which specify which data will be used or initiated in a specific site.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
6
VSeT Software Requirements Specification
Appendix A contains analysis models for data flow, classes, and state transitions. Appendix B contains
a description of Hole’s code and the file system structure created by STg. Appendices C, D, E, F, and G contain
examples of the models created by Hole’s code.
1.4.
Definitions, Acronyms, and Abbreviations
1.4.1. Definitions
ASCII file
A plain text file without non-printable characters, and thus, human readable.
Back Trace
A path from a receiver to a shot point, i.e., the reverse of a normal path of a seismic
wave, used to determine the actual path of a seismic wave.
Binary file
A file containing non-printable characters, and thus, not human readable.
Cell
The smallest unit of volume for the computation for a seismic model. A cell is typically
a 1km x 1km x 1km cube.
Color Scale
Sets the opacity for the colors being displayed. For RGB color code and opacity ranges
between 0.0 and 1.0.
Convergence
In general, the property of a sequence that approaches a fixed point, i.e., successive
elements of the sequence have decreasing differences. In a seismic tomography
algorithm the approximation of residuals to pick-error values. A fully converged model
will have the values of all residuals equal to or less than pick error.
Coverage
A measure of the number of rays that pass through each cell from shot points to
receivers for the coverage model. The greater the number of rays passing through each
cell, the more reliable the model.
Coverage Model
A model generated by Hole’s code (output of cover.f) that contains the coverage of a
set of cells.
Cyberinfrastructure
The technical infrastructure, practices, and social norms required to provide for work
interactions distributed across time and geographic boundaries.
CYBER-ShARE
Cyber-ShARE is a multidisciplinary center of excellence in cyberinfrastructure created
at UTEP in 2007. It is based on the use of computational resources and human
knowledge to support scientific research.
Discrete 3-D time
model
A model of first arrival times, i.e., the time required for seismic waves to travel from a
source to the vertices of a 3-D grid.
Discrete Time Model Discrete representation of the time required for waves to travel from a source (e.g., a
shotpoint) to a point of interest, measured in seconds.
FFmpeg
A complete, cross-platform solution to record, convert and stream audio and video.
Filters
Custom programs used to format and select raw data so it can be used as input for
further processing or display tools.
First Arrival Time
The time interval between a seismic event and the arrival of a seismic wave at a
seismograph.
Frames Per Second
(fps)
The frequency (rate) at which an imaging device produces or reproduces unique
consecutive images called frames.
Geophone
Instrument used to measure the amplitude of seismic waves.
GIF
A bitmap format for storing images.
Global axis
The Global axis is the one pertaining to the view. In this case, the view is the only one
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
7
VSeT Software Requirements Specification
that moves, not the model. The local and the global axes will point in the same
direction. Compare to local axis.
Hole’s code
A set of programs that implement a seismic travel-time tomography algorithm to
generate a 3-D model of a given region of the earth’s crust.
Hole’s code
Database
A collection of files that contain the 3-D models generated by Hole’s code.
Initial Velocity
Model
A velocity model created by a scientist used as input to Hole’s code. This model is
either a 1D or a 3D model. The 1D model is a depth-velocity model. Imagine drilling a
hole and measuring the approximate velocities at various depths.
Interactive Data
Language
A programming language and its interpretive environment currently used by geologists
to generate visual representations of 3-D models.
Isosurfaces
A surface representing a set of points with a constant value.
Isochrone
A line on a map or diagram connecting places from which it takes the same time to
travel to a certain point
Iteration
A single pass through the collection of programs that implement Hole’s code.
JPEG
A format for storing images.
Local axis
This axis is local to each visualization model displayed, it moves with the visualization
if manipulations are applied.
OpenGL
A cross platform application programmer interface for developing portable, interactive
2D and 3D graphics application.
Paraview
Open source application software used for scientific visualization.
Ray path
A sequence of cells through which seismic-wave rays travel from a source to a point of
interest.
Path
The location of a file in an integrated file system. A path name consists of one or more
elements separated by a slash (/) or back slash (\). Each element is either a directory or
a file. Any element to the left of another element must be a directory.
Orthogonal views
They help the user see directly from the top, left, right, bottom, and front or back of a
model. These are used in 3D applications.
Perturbation Model
A model containing the velocity differences calculated in an iteration of Hole’s code
that will be applied to update the velocity model for the next iteration.
Pick Error
The resolution or error estimate of arrival time measurements.
Pick File
A file containing a set of pick times for a shotpoint.
Pick Time
The arrival time of a seismic wave to a geophone as read by the user from the
seismogram data.
PNG
A bitmapped format for storing images.
Projection
2D rendering of a 3D model. It can be a perspective or parallel mapping of 3D
coordinates in model or object space to 2D device space. Orthogonal projections are
parallel projections along a coordinate axis.
ProMax
Seismic data processing software used to read pick times.
Raypath
Direction of propagation of a seismic wave. It is represented by a 3D vector which is
normal to the wave front.
Residual
Absolute or root-mean-squared difference between observed data and the calculated
data.
SAGE
A graphics streaming architecture for supporting collaborative visualization
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
8
VSeT Software Requirements Specification
environments with potentially hundreds of megapixels of contiguous resolution.
Scale
In a graphics system, a scale operation changes the size of the image displayed within
the clipping boundaries of the screen or window. See zoom.
Seismic tomography
Imaging models of the Earth as well as the study of the properties of Earth’s crust.
Seismic Traveltime
Tomography
A tomography algorithm that derives a model of the earth based on the travel times of
seismic waves. Hole’s code is an implementation of a first-arrival traveltime seismic
tomography algorithm.
Seismic wave
An elastic wave generated by an impulse such as an earthquake or an explosion.
Seismic waves may travel either along or near the earth's surface (Rayleigh and Love
waves) or through the earth's interior (P and S waves).
Seismographs
Instrument used to measure the amplitude of seismic waves. See Geophone.
Shotpoint
An explosion used to generate seismic waves used for active seismic tomography.
Also, shotpoints are areas in a three dimensional model which correspond to the
locations where explosions occurred in an experiment.
Slowness
The inverse of velocity.
Source location
The coordinates of a source of an explosion used to generate acoustic or seismic waves,
e.g., a shot point.
TIFF
A standard file format for storing images.
Time model
A discrete 3D model of first-arrival times of the seismic waves in a seismic
tomography model.
Traveltime
The time it takes a p-wave to travel between two points, e.g., from a shot point to a
geophone.
Undersample
To collect too few samples to completely determine a system. The sample size does not
provide enough information to restrict the model to a single solution. Undersampling
occurs when not plotting enough shot points and or geophones in a region, which
results in not collecting enough data to derive well-defined models.
UNIX
A computer operating system.
Velocity
In reference to earthquakes, velocity is the rate of change of ground displacement of a
reference point with respect to time during the passage of seismic waves; it is
commonly expressed in centimeters per second.
Velocity Curve
A curve on a graph of travel time versus distance for the arrival of seismic waves from
distant events. Each type of seismic wave has its own curve.
Velocity Model
A seismic model of the earth’s material structure, based on varying velocities. Data to
generate said model is collected by a series of seismographs or geophones.
Velocity of Rays
The velocity of a seismic wave depends on the material through wave is traveling.
While soft material is a slow conduction medium, hard material will allow waves to
move faster.
Velocity structure
A generalized regional model of the Earth's crust that represents crustal structure using
seismic velocities.
Visualization Cluster A computer system for generating or displaying ultra-high resolution images and
animations.
Visualization Toolkit An open-source, freely available software system for 3D computer graphics, image
processing and visualization. The latest version that is available from the official
website, http://www.vtk.org, is 5.6.1.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
9
VSeT Software Requirements Specification
Zoom
The process of changing the scaling factor in an image. Zooming in makes an image
larger or closer, and zooming out makes an image smaller or further away.
1.4.2. Acronyms and Abbreviations
2D
Two dimensions or two-dimensional
3D
Three dimensions or threedimensional
API
Application programming interface
AVI
Audio-video interleave: Format of the compiled animation VSeT will produce
dt
Traveltime residual
du
Velocity pertubation
GEON
GEO-science server
GIF
Graphics interchange format
GUI
Graphical user interface.
IDL
Interactive data language
JPEG
Joint photography experts group
km
Kilometers
NSF
National science foundation
PNG
Portable network graphics
s
Seconds
SAGE
Scalable adaptive graphics environment
SRS
Software requirements specification
STg
Seismic (traveltime) tomography application
VSeT
Visualization for Seismic Tomography
TBD
To be determined
TIFF
Tagged image file format
UTEP
The University of Texas at El Paso
VTK
Visualization toolkit – an open-source graphics API
1.5.
References
[1] Galitz, W., The Essential Guide to User Interface Design, Wiley, 2007.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
10
VSeT Software Requirements Specification
2.
General Description
2.1.
Product Perspective
The study of the structure of the earth is complicated by the difficulty in reaching deep into
the crust. Scientists use seismic tomography in order to study the structure of the earth’s crust. Seismic
tomography is a procedure that utilizes controlled explosions or wave generators to illuminate the velocity
structure of the Earth. The location of an explosion is called a shotpoint. Seismic waves are detected at receivers
such as geophones and seismographs. The traveltime from each shotpoint to each receiver, which is referred to
as the observed time or the pick time, is measured and recorded. A digital model of the Earth’s crust is
constructed by the scientist and used by tomography algorithms to predict seismic wave traveltimes. Predicted
traveltimes are compared to the observed times and the calculated differences are used to adjust the model.
Seismic Tomography algorithms are iterative, use a trial-and-error approach, and require domain
knowledge and additional testing for validation. The algorithm that is currently being used at Cyber-SHaRE was
developed by Dr. John Vidale and Dr. John Hole. This algorithm is based on non-linear methods that are
applied repetitively until an acceptable solution is found. Raw data (shotpoint locations, geophone locations,
and pick times) are manually processed. Hole’s code is implemented as a series of application programs that
require a set of parameters selected by the scientists. (See Appendix XXXX). As Hole’s code executes, it
generates a set of models. If the process is successful, each iteration of Hole’s code will reduce the error
between the observed pick times and the estimated pick times and the process will converge to a stable result. If
the process does not converge, then scientists must revise the initial model and parameters and execute the
algorithm again.
One problem with this process is that once the input has been provided, there is no method to
determine whether and how the process is converging or if the models being produced match other domain
constraints not included in the model. By providing model visualizations, the VSeT application will help
scientists understand and compute data collected during their investigations and process it in an improved,
efficient manner. Such visualizations may save scientists time and effort, as input and data errors may be
identified without having to wait for the full computation of a final velocity. VSeT will provide an interface for
the user to select which model to visualize. VSeT will provide the capability to manipulate the display of 3D
models by panning, zooming, rotating, and slicing. It will allow the user to display models side by side, and to
generate animations consisting of sequences of model visualizations. VSeT will also provide a feature to save
and open project files comprising one or more visualized models. Projects are stored in files instead of saving
the models individually. The system also will interact with STg in order to get the parameter files that will be
the outline for the models that are going to be rendered.
The user will be able to visualize 3D models from the output files of Hole’s code to determine whether
computations are producing meaningful partial results while the process is still running. These files contain
seismic tomography information related to the velocities of the seismic waves. These waves are detected by
geophones and produced by experimental explosions on several points of the surface of the Earth. This will
allow the examination of the Earth’s crust using various types of visualizations. First arrival times to the
geophones of the seismic waves generated by shotpoints will be measured and used by Hole’s code to compute
velocity models of the Earth’s crust.
The purpose of the VSeT system is to provide geologists with visualizations of the outputs of Hole/Vidale’s
seismic tomography algorithm. VSeT will enable researchers to obtain meaningful results quickly and enable
students to learn and understand the meaning of seismic tomography and how different input parameters change
output models. The system is a stand-alone software application for 3D model visualizations of seismic
tomography results. VSeT will require interaction with the already existing STg program. VSeT will be
accessible as an add-on of STG or as a directly executed independent application. This system will implement
functionality based on the Visualization Tool Kit (VTK) API and will offer functions for viewing and
manipulating 3D models generated by any number of seismic tomography projects.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
11
VSeT Software Requirements Specification
The main actors are the user, the GEON Server and STG/Hole’s Code.
User– The user can be an undergraduate or graduate student, a geologist, or a researcher . This actor can
access and interact with the system.
STg/Hole’s Code – STg/Hole’s code is a combination of a user front-end and computational server backend that implements seismic tomography algorithms. It is composed of several executables that implement
modeling as a set of independent steps. STg can be thought of as an integral part of Hole’s code because STg is
the user interface for entering parameters and executing Hole’s code in the back end.
GEON Server - The user must have an account to access the GEON server. Once the user has accessed the
GEON server, the user must run Hole’s code in order to obtain the output files necessary for visualization.
The system’s main features are explained in the use case Figure 2.1:
System
Manage
Workspace
Manage Workspace
Visualize
Model
3D Model
Visualize 3D
<<extends>>
Synchronize
3D
Synchronize 3D
Models
Models
User
STg File System
<<extends>>
Animate
Models
Animate Models
2.2.
Product Features
The system must provide the user with the ability to display and manipulate geological 3D images. The system
will perform the following:

The system will manage a workspace by enabling the user to create, save, and open projects and read
STg files representing models, shotpoints, and geophones. STg stores files related to an experiment.

The system will provide features to visualize models. Users will be able to open several visualizations
at one time, manipulate the visualizations by panning, rotating, zooming (scaling), and synchronizing
the displays of selected models so that the same operations are applied to a set of model visualizations.

The system will provide features for manipulating models by setting color scales to represent data
ranges and to slice a 3D model along a specified plane to produce a simplified model;

The system will provide features to generate and display animations of models. An animation is
constructed from a sequence of model visualizations, e.g., visualizations of models generated by
successive iterations of Hole’s code.
2.3.
Use Cases
The remainder of the document will use the following terminology. A workspace is a container that may hold
zero or more experiments. Each experiment contains an initial model, field data (pick times), and a collection of
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
12
VSeT Software Requirements Specification
products from iterations of Hole’s code. An experiment is described by an experiment XML file (or experiment
file), which contains the directory path of the STg file system where the models are stored. Each iteration of
Hole’s code produces a set of models. A model can be displayed in a model visualization window. The
workspace window is the user interface for the workspace and may contain a collection of model visualization
windows.
2.3.1. Use Case 1: Manage Workspace
Description
The user opens a workspace. The system creates a workspace window, adds
the model visualization windows to the workspace window, and populates the
display with the experiments and models contained in the workspace. The
following scenarios describe workspace management.
Used by
Preconditions
Success End
Condition
Failed End
Condition
Actors
Trigger
None.
The VSeT program is running and the workspace interface is displayed.
The workspace interface is displayed.
The workspace interface is not displayed.
User and STg File System
The system is running.
2.3.1.1. Scenario 1: Select Workspace
Description
The user selects a workspace to display and modify.
Used by
None.
Precondit The VSeT program is running and the workspace interface is displayed.
ions
End
The workspace interface corresponding to the selected workspace is displayed.
Condition
Actors
User and STg File System
Trigger
The user selects the Open Workspace option.
Step
Action
1
The user selects the Open Workspace option.
2
The system closes the currently loaded workspace (ALT 1).
3
The system opens a file selection dialog displaying the files in the current working directory.
4
The user uses the file selection dialog to select the desired workspace (ALT 2) (ALT 3).
5
The system opens the workspace description file, displays the model visualization windows
in the state described in the workspace description file, and loads the model navigation
window with the names of models available for each of the experiments in the workspace.
6
End of use case.
ALT 1
1.1
1.2
1.3
1.4
1.5
The workspace has been modified since the most recent save.
The system prompts the user to save before loading the new workspace.
The user agrees to save (ALT 4).
The system saves the current state of the workspace in the current workspace description file.
The system closes the workspace description file and clears the workspace window.
Use case continues at step 3.
ALT 2
2.1
2.2
The user selects Cancel from the file selection dialog.
The system closes the file selection dialog.
End of use case.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
13
VSeT Software Requirements Specification
ALT 3
3.1
3.2
3.3
3.4
The user selects the New option.
The system prompts the user for a new name.
The user enters a unique name (ALT 5).
The system creates a workspace description file with the new name and saves the default
workspace information.
Use case continues at step 5.
ALT 4
4.1
The user does not agree to save
Use case continues at step 1.4.
ALT 5
5.1
5.2
The user enters an existing name.
The system prompts if he/she to overwrite the existing workspace (ALT 2).
Use case continues at step 5.
2.3.1.2. Scenario 2: Save Workspace
Description
The user selects to save the current workspace.
Used by
None.
Pre
The VSeT program is running and the workspace interface is displayed.
Condition
End
The workspace interface corresponding to the selected workspace is saved, unless the
Condition user has cancelled the operation.
Actors
User and STg File System
Trigger
The user selects the Save Workspace or Save Workspace As option.
Step
Action
1
The user selects the Save Workspace option (ALT 1).
2
The system saves the current state of the workspace in the current workspace description file.
The saved state includes the names and directories for the experiments in the workspace as
well as the images, model names, and viewing parameters of the Model Visualization
Windows.
3
The system closes the workspace description file.
4
End of use case.
ALT 1
1.1
1.2
1.3
1.4
The user selects the Save Workspace As option.
The system opens a file selection dialog and prompts the user for a new name.
The user enters a unique name (ALT 2) (ALT 3).
The system creates a workspace description file with the new name.
Use case continues at step 2.
ALT 2
2.1
2.2
2.3
2.4
The user enters an existing name.
The system prompts to overwrite the existing workspace.
The user selects to overwrite (ALT 3).
The system deletes the existing workspace.
Use case continues at step 2.
ALT 3
3.1
3.2
The user selects Cancel from the file selection dialog.
The system closes the file selection dialog. The workspace is not saved.
End of use case.
2.3.1.3. Scenario 3: Close Workspace
Description
The user closes a workspace.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
14
VSeT Software Requirements Specification
Used by
Pre
condition
End
Condition
Actors
Trigger
Step
1
2
None.
The VSeT program is running and the workspace interface is displayed.
The default (empty) workspace is displayed.
3.
User and STg File System
The user selects the Close Workspace option.
Action
The user selects the Close Workspace option (ALT 1).
The system closes the current workspace. The model visualization windows are closed, and
the workspace is returned to its default display.
End of use case.
ALT 1
1.1
1.2
1.3
1.4
The workspace has been modified since the most recent save.
The system prompts the user to save before loading the new workspace.
The user agrees to save (ALT 2).
The system saves the current state of the workspace in the current workspace description file.
Use case continues at step 2.
ALT 2
2.1
The user does not agree to save
Use case continues at step 2.
2.3.1.4. Scenario 4: Import Experiment
Description: The user adds an experiment to a workspace.
Used by
None.
Precondit The VSeT program is running and the workspace interface is displayed.
ions
End
The selected experiment is added to the workspace and the experiment models are
Condition added to the model list; the user cancels the import; or an error message indicating the
load has failed is displayed.
Actors
User and STg File System
Trigger
The user selects the Import Experiment option.
Step
Action
1
The user selects the Import Experiment option.
2
The system opens a file selection dialog.
3
The user selects an experiment file (ALT 1).
4
The system opens the selected file and reads the experiment directory name (ALT 2).
5
The system scans the experiment directory, retrieves the names of models in that
6
directory, and updates the model list in the workspace window.
End of use case.
ALT 1
1.1
1.2
The user cancels the file selection.
The system closes the file selection dialog.
End of use case.
ALT 2
2.1
2.2
The system cannot read the required information from the selected experiment file.
The system displays an error message indicating that the file is not a proper experiment file.
End of use case.
2.3.1.5. Scenario 5: Remove Experiments
Description: The user removes an experiment from a workspace.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
15
VSeT Software Requirements Specification
Used by
Precondit
ions
End
Condition
Actors
Trigger
Step
1
2
3
4
5
6
7
None.
The VSeT program is running and the workspace interface is displayed.
The workspace interface corresponding to the selected workspace is displayed.
8
User and File System
The user selects the Remove Experiment option.
Action
The user selects the Remove Experiment option.
The system presents a list of experiments included in the current workspace.
The user selects a set of experiments from the list (ALT 1).
The user presses the delete button.
The system prompts the user to confirm the removal of the experiments.
The user confirms (ALT 2).
The system removes the models of the selected experiments from the model list, removes the
model visualization windows displaying models from the selected experiments from the
workspace window, and removes the experiment name from the list of experiments in the
workspace.
End of use case.
ALT 1
1.1
1.2
The user exits the Remove Experiment process
The system closes the remove experiment dialog.
End of use case
ALT 2
2.1
2.2
The user cancels experiment removal
The system closes the remove experiment dialog.
End of use case
2.3.2. Use Case 2: Visualize 3D Model(s)
Description
Used by
Preconditions
Success End
Condition
Failed End
Condition
Actors
The user selects a model or set of models and displays the models in a graphics
format consistent with the type of model. The user can manipulate the graphical
representation by scaling, rotating, and moving the model as well as slicing and
setting up the color scale in a visualization window.
Extended by Synchronize 3D Models and Animate Models.
VSeT is running. A workspace is open. There are models in the workspace
corresponding to some experiment.
A representation with the desired model is presented to the user.
No model is presented to the user.
User
2.3.2.1. Scenario 1: Display Model
Description: The user selects a model to display.
Used by
None.
Pre
VSeT is running. A workspace is open. There are models in the workspace
condition corresponding to some experiment.
End
A representation with the desired model is presented to the user.
Condition
Actors
User and STg File System
Trigger
The user selects the Display Model option.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
16
VSeT Software Requirements Specification
Step
1
2
3
4
5
Action
The user selects a model from the model list.
The user selects the Display Model option.
The system reads the model (ALT 1).
The system opens a model visualization window, places the window in the workspace, and
displays a rendering of the model using default viewing parameters depending on the type of
model.
End of use case.
ALT 1
1.1
1.2
1.3
File Not Found
The system cannot find or cannot read the model specified by the user.
The system displays an error message informing the user of the error.
End of use case.
2.3.2.2. Scenario 2: Close Model Display
Description: The user selects a display to close.
Used by
None.
Pre
VSeT is running. A workspace is open. There are models in the workspace
condition corresponding to some experiment. There is at least one model visualization window
open in the workspace.
End
The selected model visualization window is closed.
Condition
Actors
User and STg File System
Trigger
The user selects the Close Model Visualization option.
Step
Action
1
The user selects a model visualization window by clicking in the window to make it active.
2
The user selects the Close option.
3
The system closes the active model visualization window.
4
End of use case.
2.3.2.3. Scenario 3: Camera View Manipulation
Description
The user wants to manipulate the camera in a visualization window.
Used by
None.
Pre
VSeT is running. A workspace is open. There are models in the workspace
condition corresponding to some experiment. There is at least one model visualization window
open in the workspace.
End
VSeT is running. A workspace is open. There are models in the workspace
Condition corresponding to some experiment. There is at least one model visualization window
open in the workspace. The viewing parameters of the model displayed in the
visualization window have been altered.
Actors
User and File System
Trigger
The user selects an icon in the Visualization Toolbar or a mouse click is triggered in the
visualization window.
Step
Action
1
The user selects the Pan icon in the visualization toolbar (ALT 1) (ALT 2).
2
The user clicks and drags the model using a pointing device (e.g., mouse).
3
The system adjusts the viewing parameters of the visualization and re-renders the model. The
new rendering appears to have been shifted in the direction of the mouse drag. (For example,
if a feature originally appeared in the center of the rendering and the mouse drag was left and
up, the feature will appear above and to the left of the center of the new rendering.)
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
17
VSeT Software Requirements Specification
4
5
The system saves the new viewing parameters with the visualization window.
End of use case.
ALT 1
1.1
1.2
The user selects the Rotate icon in the visualization toolbar
The user clicks and drags the model using a pointing device (e.g., mouse).
The system adjusts the viewing parameters of the visualization and re-renders the model. The
new rendering appears to have been rotated around the principle axes according to the mouse
actions. A vertical mouse move rotates around the x-axis. A horizontal mouse move rotates
around the y-axis.
The system saves the new viewing parameters with the visualization window.
End of use case.
1.3
1.4
ALT 2
1
2
3
4
The user selects the Zoom icon in the visualization toolbar
The user clicks and drags the model using a pointing device (e.g., mouse).
The system adjusts the viewing parameters of the visualization and re-renders the model. The
new rendering appears to have been resized. (For example, if the mouse drag is up, the newly
rendered model will be moved further away from the model and it will appear smaller,
encompassing a larger field of view. If the mouse drag is down, the newly rendered model
viewpoint is moved closer to the model, and the field of view will be reduced.)
The system saves the new viewing parameters with the visualization window.
End of use case.
2.3.2.4. Scenario 4: Save Model Visualization Image
Description: The user wants to save the current image in a visualization window to a standard
graphics format file.
Used by
None.
Pre
The VSeT program is running and the workspace interface is displayed. At least one
condition model visualization window is open.
End
On successful completion, an image of the model in the model visualization window has
Condition been saved to a graphics file.
Actors
User and STg File System
Trigger
The user selects the Save Screenshot option.
Step
Action
1
The user selects a model visualization window and makes it active (e.g., by clicking the
pointing device in the window).
2
The user selects the Save Screenshot option.
3
The system opens a file selection dialog prompts the user for a location to store the image.
4
The user specifies a file name and path (ALT 1) (ALT 2).
5
The system saves the image displayed in the model visualization window in a file using a
standard graphics format such as gif, tiff, png, or jpeg.
6
End of use case.
ALT 1
1.1
The user cancels the operation by closing the file selection dialog
End of use case
ALT 2
2.1
2.2
The user enters an existing name.
The system prompts if he/she to overwrite the existing workspace (ALT 1).
Use case continues at step 5.
2.3.2.5. Scenario 5: Slice Model
Description: The user wants to slice a model according to a plane-axis and a value for the
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
18
VSeT Software Requirements Specification
remaining axis being visualized.
Used by
None.
Pre
The VSeT program is running and the workspace interface is displayed. At least one
condition model visualization window is open and is displaying a 3D model.
End
On successful completion, the model being visualized is sliced at a plane according to a
Condition third axis-value
Actors
User and STg File System
Trigger
The user selects the Slice option.
Step
Action
1
The user selects the slice option.
2
The user selects two axes and a coordinate for the third axis to slice the model (ALT 1).
3
The system calculates a plane based on the two coordinate axes and the point on the third
axis. The system generates data values for this plane.
4
The system presents the model to the user with the divides parts of the model.
5
End of use case.
ALT 1
1.1
1.2
The user triggers the mouse to slice the model
The system calculates the coordinate of the third axis according to the mouse pointer
position.
Use case continues at step 3.
2.3.2.6. Scenario 6: Change Scale Color
Description
The user wants to adjust the scale color.
Used by
None.
Pre
The VSeT program is running and the workspace interface is displayed. At least one
condition model visualization window is open.
End
On successful completion, the color scale for the model in the model visualization
Condition window has been updated.
Actors
User and STg File System
Trigger
The user selects the Change Scale Colors option.
Step
Action
1
The user selects the change scale colors option.
2
The user selects the values from 0 to 1 for each of the RGB points.
3
The system updates the model scale colors.
4
End of use case.
2.3.3. Use Case 3: Synchronize 3D Models
Description: A synchronization group is a group of model visualization windows that are
manipulated in unison. The pan, rotate, zoom, and animate operations applied to any model
visualization window in a synchronization group will be applied to all model visualization windows
in the group.
Extends
Use Case 2
Pre
The VSeT program is running and the workspace interface is displayed. At least one
condition
model visualization window is open.
Success
User-selected Model Visualization Windows are contained in user-specified
End
synchronization groups.
Condition
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
19
VSeT Software Requirements Specification
Fail End
Condition
Actors
None.
User and STg File System
2.3.3.1. Scenario 1: Add Model Visualization Window to Synchronization Group
Description: The user selects a synchronization group and adds a model to it.
Pre
The VSeT program is running and the workspace interface is displayed. At least one
condition model visualization window is open.
End
On successful completion, the selected model visualization window has been added to a
Condition synchronization group.
Actors
User and STg File System
Trigger
The user selects the Synchronize option.
Step
Action
1
The user selects the Synchronize option.
2
The system opens the synchronization dialog. The dialog lists the synchronization groups that
are available. No group is selected.
3
The user selects the add group option (ALT 1).
4
The system prompts the user for a name.
5
The user enters a new name for a synchronization group (ALT 2) (ALT 3).
6
The system creates a new synchronization group with the name given by the user.
7
The user specified group becomes the selected group.
8
The user selects a model visualization window and selects the add option in the
synchronization group dialog (ALT 4).
9
The model visualization window is added to the synchronization group (ALT 5).
10
The user closes the synchronization group window.
End of use case.
ALT 1
1.1
The user selects an existing group.
Use case continues at step 7.
ALT 2
2.1
2.2
2.3
The user enters an existing name.
The system prompts the user to replace the existing group (ALT 3).
The system deletes the selected group.
Use case continues at step 6.
ALT 3
3.1
3.2
User cancels operation.
The system closes the synchronization dialog.
End of use case
ALT 4
4.1
4.1
User selects the add all option.
All of the visualization windows in the workspace are added to the synchronization group
(ALT 5).
Use case continues at step 8.
ALT 5
5.1
5.2
5.3
5.4
The model is already in an existing synchronization group.
The system prompts the user to remove the model from the other group.
The user confirms (ALT 3).
The system removes the selected model from the selected synchronization group.
Use case continues at step 10.
2.3.3.2. Scenario 2: Remove Synchronization Group
Description: The user removes a synchronization group from a workspace.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
20
VSeT Software Requirements Specification
Pre
condition
End
Condition
Actors
Trigger
Step
1
2
The VSeT program is running and the workspace interface is displayed. At least one
model visualization window is open.
On successful completion, the selected synchronization group has been removed.
8
User and STg File System
The user selects the Synchronize option.
Action
The user selects the Synchronize option.
The system opens the synchronization dialog. The dialog lists the synchronization groups that
are available. This includes the user-created groups and the default group. The default group
is selected.
The user selects a synchronization group.
The user presses the delete button.
The system prompts the user to confirm delete.
The user confirms (ALT 1).
The system deletes the named synchronization group (ALT 2). This un-links the model
display windows with respect to display operations. The model display windows remain in
the workspace window.
End of use case.
ALT 1
A1.1
The user cancels the delete operation.
End of use case.
ALT 2
2.1
The selected synchronization group is the default group.
The system removes all of the model display windows from the default synchronization
group.
End of use case.
3
4
5
6
7
2.2
2.3.4. Use Case 4: Animate Models
Description
Extends
Preconditions
Success End
Condition
Fail End
Condition
Actors
Trigger
The user wants to animate a sequence of models or a sequence of operations.
Animations are used to visualize the convergence of iterations.
Visualize 3D Model.
The VSeT program is running and the workspace interface is displayed.
An animation with the desire sequence of models is presented to the user.
The animation with the desire sequence of models is not presented to the user.
User and STg File System
The user selects Animate option.
2.3.4.1. Scenario 1: Create Animation
Description: The user selects create animation and generates the animation from a sequence of
screenshots.
Pre
The VSeT program is running and the workspace interface is displayed. At least one
condition model is available to visualize.
End
On successful completion, an animation has been created that can display a sequence of
Condition model visualizations.
Actors
User and STg File System
Trigger
The user selects the Animate option.
Step
Action
1
The user selects the Animate option.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
21
VSeT Software Requirements Specification
2
3
4
7
8
9
10
11
The system displays a list of models and iterations.
The user selects the models and iterations he/she wishes to animate.
The user selects the projection, display mode, velocity level (slow, medium, fast or advanced
to input a duration time) and resolution level (low, medium or high) for the animation.
The system generates an image for each model’s specified iteration.
The system takes the sequential images and generates an animation using VTK API 5.6.1
according to specifications in step 4.
The system generates and displays the animation based on the user selections.
The system opens a file selection dialog.
The user enters a pathname and filename to save (ALT 1 ).(ALT 2)
The system saves the animation.
End of use case.
ALT 1
2.1
2.2
The user selects an existing filename.
The system prompts the user if he/she wants to override the existing animation (ALT 2).
Use case continues at step 10.
ALT 2
2.1
The user cancels the operation by closing the file selection dialog
End of use case
5
6
2.3.4.2. Scenario 2: Play Animation
Description: The users wants to play an existing animation and control it.
Pre
The VSeT program is running and the workspace interface is displayed. An animation
condition has been created (see scenario 1).
End
On successful completion, an animation has been displayed.
Condition
Actors
User and STg File System
Trigger
The user selects the Play Animation option.
Step
Action
1
The user selects the Play Animation option.
2
The system displays the animation control tool bar.
3
The user selects a control.
4
The system plays the animation according to the controls. Controls are described in Table 1.
5
The user selects the close option.
6
End of use case.
Table 1: Animation Controls
Control
Description
Play
The animation starts at the current frame and plays forward through frames at the
defualt frame rate (30 frames per second). If the loop option is clear, the
animations halts at the end of the last frame, and the last frame is displayed. If
the loop option is set, when the last frame is displayed, the animation will restart
the animation from the first frame.
Reverse
The animation is played in reverse. If the animation is on the initial point, the
animation plays from the end to the start.
Stop
If the animation is playing, the animation halts, and the first frame is displayed.
The first frame becomes the current frame.
Pause
If the animation is playing, the animation halts, and the current frame is
displayed. If the pause control is clicked again, the animation starts playing.
Fast Forward
The animation is played in the forward direction at twice the frame rate. If the
fast forward control is clicked again, the animation stops fast forwarding.
Step Forward
The display advances a single frame and pauses. If the current frame is the last
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
22
VSeT Software Requirements Specification
Step Backwards
Loop
Close
2.4.
frame, the last frame is displayed. If the step forward control is clicked again, the
animation stops step forwarding.
The display moves backward a single frame and pauses. If the current frame is
the first frame, the first frame is displayed. If the step backwards control is
clicked again, the animation stops the step backward.
The animation continues repeating. If the loop control is clicked again the
animation stops looping.
The animation window and the control bar are closed.
User Characteristics
2.4.1. User
The user represents any person with an authorized access to the computer running the application.
2.4.2. STg File System
External system that process input files and starts running experiment on the server. It also produces an XML
file that aids our application to find the exact location of the files that the user wants to visualize.
2.5.
Operating Environment
The system being developed is going to be placed inside CyberShARE’s server which is GEON. The system
will run on a computer using UNIX.
2.6.
General Constraints

The application will run on UNIX.

The application will only be accessible for authorized users of CyberShARE.

The application has to use VTK’s API to implement the tools to display the 3D models.
2.7.
Assumptions and Dependencies
The assumptions and dependencies of the system are as follows:
 Security will be handled by GEON, the CyberShARE server.
 VSET will run in a Unix/Linux environment.
 VSET will be implemented using VTK 5.6.1.
 The system shall have a large number of vertices in each given model [Dr. Romero said we have
414,000 vertices, this may not be accurate, but it portrays that we have a lot of information]
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
23
VSeT Software Requirements Specification
3.
External Interface Requirements
This section contains the requirements specified by the client for the user interface, the hardware
interface, the software interface and communications interface. It specifies the characteristics of interfaces to the
proposed system. These will allow the communication between the different components of the system with
external or within factors.
3.1.
User Interfaces
3.1.1. General User Interface Requirements
[Rq1] The user interfaces on the local machine shall be presented as Unix/Linux applications.
[Rq2] The user interfaces for local machines shall run as Windows™ applications.
[Rq3] The local machine interfaces shall use a computer monitor (at least 11 inches), as opposed to a cell
phone or hand-held display device.
[Rq4] The system shall use standard user interface controls such as buttons, text boxes, radio buttons,
check boxes, labels, list boxes, spin boxes, combo boxes, sliders, scroll bars, tabs, tool tips, progress
bars, and file selection dialogs [Galitz pp 443-552 et al].
[Rq5] Each window of the system shall have full screen, minimize, and exit options.
[Rq6] The system shall provide a visual display such as a progress bar or hour-glass icon while any
function is being performed.
[Rq7] The VSeT system shall be integrated with the existing STg application. VSeT shall be included
under the Visualize Models tab in STg.
[Rq8] Maximized windows shall include a restore button instead of maximize button at the top right
corner.
[Rq9] Velocity models must follow the standard color convention, which is the following
 Red means soft material
 Green means hard material
 Blue means harder material
3.1.2. Menus
[Rq10] The main interface shall be menu driven. Main menu and submenu items shown in Table 1.
File
New
Save
Save-As
Import Experiment
Exit
Edit
Undo
Copy
Paste
Options
Background
Color Coding
Shotpoints
Geophones
Help
Visual Analytics Help
About
Table 1: Menu items
3.1.3. Workspace Windows
[Rq11] The Workspace Window shall have the features shown in Figure 1.
[Rq12] The Workspace Window shall contain a menu bar with the menu items shown in Table 1.
[Rq13] The Workspace Window shall display an Experiment Manager Window.
[Rq14] The Workspace Window shall display a Visualization Area to the right of the Experiment Manager
Window.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
24
VSeT Software Requirements Specification
[Rq15] The Workspace Window shall display a Workspace Information Window below the Experiment
Manager Window.
[Rq16] The Workspace Window shall contain zero or more Model Visualization Windows.
[Rq17] The Workspace Window shall display a toolbar as shown in Figure 1.
[Rq18] The Experiment Manager Window shall display the names of experiments and models available in
the workspace.
[Rq19] The Experiment Manager Window shall display a filter text box.
[Rq20] The Workspace Information Window shall display the name of the workspace file, experiment,
iteration, step, and model type.
[Rq21] A Model Visualization Window shall contain an Orientation Marker, a Model Window Zoom
Control, and optionally a Model Information Window and an Information Window Hide icon or an
Information Window Show icon.
[Rq22] A Model Visualization Window shall allow the user to visualize Discrete Time models, Velocity
Propagation models, Coverage models, and Velocity models.
Experiment
Manager
Window
Experiment
Filter
Workspace
Information
Window
Menu
Toolbar
Orientation
Marker
Model
Visualization
Window
Minimize, Restore,
and Close icons
Model
Information
Window
Model
Window
Zoom
Control
Model
Information
Minimize
Icon
Figure 1: Workspace Window
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
25
VSeT Software Requirements Specification
[Rq23] The Model Information Window shall display information about the current model being
displayed, including the file name, the experiment name, the iteration and step numbers.
[Rq24] The system shall display the Open, Save, Snapshot, Animate, Slice, Rotate, Zoom, and Help
buttons in the Toolbar, as shown in Figure 2.
[Rq25] The system shall display labels for the models being visualized.
[Rq26] The system shall display the number of shot points, geophones, receivers, of the iteration, and the
model name.
[Rq27] The system shall display a selected model visualization window with a highlighted border.
[Rq28] The system shall display all members of a synchronization group with borders of the same color.
Snapshot
Open
Save
Animate
Slice
Zoom
Rotate
Help
Figure 2: Toolbar
3.1.4. Animations
[Rq29] The system shall display an Animation Window for constructing and displaying animations (see
Figure 3).
[Rq30] The system shall give the user the option to select the number of iterations that will be animated.
[Rq31] The system shall provide a toolbar containing video options. Options include: Play, Stop, Pause,
Fast Forward, and Rewind.
3.1.5. Synchronization Windows
[Rq32] The system shall provide an interface for creating and deleting synchronization groups. A
synchronization group shall consist of a set of model visualization windows.
[Rq33] The system shall provide an interface for adding model visualization windows to and removing
them from a synchronization group.
[Rq34] The system shall support multiple synchronization groups.
[Rq35] All model visualization windows in a synchronization group shall have a border with the same
color.
[Rq36] A model visualization window can be a member of at most one synchronization group.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
26
VSeT Software Requirements Specification
Figure 3: Animation Window
3.2.
Hardware Interfaces
[Rq37] The visualization system shall interact with a visualization cluster comprising a 45-monitor
display matrix. The visualization cluster is the one in the CyberSHARE Center.
3.3.
Software Interfaces
[Rq38] The visualization system shall utilize a Unix/Linux desktop and a file browser for user input.
[Rq39] The visualization system shall interact with STg to obtain raw binary files that are produced by
Hole’s code.
[Rq40] The visualization system shall allow a user connected via an SSH client to use the system.
[Rq41] The visualization system shall import the following output files from Hole’s code Database.
 3D Velocity model,.
 Ray coverage per cell model
 Smoother 1
 Smoother 2
 New 3D Velocity model.
[Rq42] The visualization system shall utilize VTK to render graphics. The current release of the
Visualization Toolkit Application Programming Interface is VTK 5.6.1.
[Rq43] The visualization system shall use the FFmpeg software for VTK to create AVI files.
[Rq44] The visualization system shall interact with the STg XML output files in order to retrieve the
parameters of the project to be visualized
[Rq45] The visualization system shall display models in a desktop application, in addition to the
visualization cluster.
[Rq46] The visualization system shall use SAGE to interact with the visualization cluster.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
27
VSeT Software Requirements Specification
[Rq47] The visualization system shall interact with SAGE OpenGL capture that is bundled with SAGE
distribution.
3.4.
Communications Interfaces
There are no communication interface requirements for this system.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
28
VSeT Software Requirements Specification
4.
Behavioral Requirements
This section explains the different users of the system and the requirements for each of them; it also
includes the requirements for related real-world objects that interact within the system. A state diagram will be
included herein to provide a better description of the different states that the system can go through.
The system presents the same capabilities to an undergraduate student, graduate student, Geologist,
researcher, and scientist but different ones for the Geon Server and the STG/Hole’s code users.
4.1.
Same Class of User
There is only one class of user. This user is assumed to be a Cyber-SHARE user with access to the server.
4.2.
Related Real-world Objects
4.2.1. Iteration
When Hole’s code executes, it generates a sequence of models. When the model converges, each successive
model is closer to a solution than the previous model. We refer to each cycle through the algorithm as an
iteration. Each iteration contains several models.
[Rq48] The system shall be able to display model statistics for each iteration including the number of shot
points, geophones, and receivers; the iteration; and the model name.
[Rq49] The system shall be able to display the number of the most recently completed iteration of Hole’s
code. This number may change during the execution of VSeT.
4.2.2. Shot point
The model represents seismic waves produced by the shot point and the geophones capturing the waves
according to time.
[Rq50] The system shall be able to display in the workspace the number of shotpoints for the model
selected.
4.2.3. Models
Velocity models are abstract visualization of a slice of the earth’s crust which is enduring shock waves, and at
any given point during the vibrations, these points have velocity values, which will be used to map out three
dimensional models based on the velocity values for the user to interact, these velocity models are just binary
files that will interact with our system.
[Rq51] The visualization system shall display four types of models: Discrete Time Models, Velocity
Models, Coverage Models, and Velocity Perturbation Models.
[Rq52] The system shall read binary data files generated by Hole’s code and the STg program. The format
of these binary files is described in Appendix XXX.
[Rq53] The system shall be able to visualize a Discrete Time Model for each shotpoint.
[Rq54] The system shall be able to visualize the Velocity model.
[Rq55] The system shall be able to visualize the Coverage model.
[Rq56] The system shall be able to visualize the velocity perturbation in the Velocity model.
[Rq57] The system shall be able to visualize a model according to the geophones and shotpoints specified.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
29
VSeT Software Requirements Specification
4.3.
Stimulus
4.3.1. General User Interface Requirements
[Rq58] When the system displays standard user interface controls such as buttons, text boxes, radio
buttons, check boxes, labels, list boxes, spin boxes, combo boxes, sliders, scroll bars, tabs, tool tips,
progress bars, and file selection dialogs, these controls shall behave in the standard manners as
described in [Galitz pp 443-552 et al].
[Rq59] When a user selects the full screen option on a window, the system shall expand the window to the
size of the container for the window. For a workspace window, the window is expanded to the screen
size. For a model visualization window, the window is expanded to occupy the Visualization Area.
[Rq60] When a user selects the minimize screen option on a window, the system shall close the window
and create a icon, which is placed at the bottom of the containing window.
[Rq61] When a user selects a minimized icon, the icon is removed and the window that was closed when
the icon was created (see previous requirement) is recreated and displayed in the location where the
window was displayed before it was minimized.
[Rq62] When a user selects the exit option on a window, the system shall attempt to close the window. If
the window is a workspace window and modifications have been made to the workspace since the
most recent save, the system shall prompt the user to save the workspace before exiting. Upon
confirmation, the system shall save the workspace before closing the window.
[Rq63] When a user selects the Visualize Models tab in STg, the system shall start the VSeT application.
[Rq64] When the user selects a corner of a displayed window with the mouse cursor and drags the cursor,
the system shall resize the window in the direction of the mouse drag. Windows being resized may
change shape.
4.3.2. Menus
[Rq65] When the user selects the File/New option, the system shall open a file selection dialog and
prompt the user for a workspace folder name. The system shall create a new folder in which to store
the workspace.
[Rq66] When the user selects the File/Save option, the system shall save the current state of the
workspace, including experiment names, the state of each Model Visualization Window, and any
information related to the display of models.
[Rq67] When the user selects the File/Save-As option, the system shall open a file selection dialog and
prompt the user for a workspace folder name. The system shall create a new folder in which to store
the workspace and save the workspace state.
[Rq68] When the user selects the File/Import Experiment option, the system shall open a file selection
dialog and allow the user to select an experiment file.
[Rq69] When the user selects an experiment file for import (e.g., using the File/Import Experiment
option), the system shall add the experiment file to the workspace, read the experiment file, search the
experiment directory for models, and add any models to the Experiment Manager Window of the
workspace.
[Rq70] When an error occurs reading an experiment file on import, the system shall display an error
message indicating that the import failed and providing as much indication of the reason for the failure
as possible.
[Rq71] When the user selects the File/Exit option, the system shall the system shall attempt to close the
window. If the modifications have been made to the workspace since the most recent save, the system
shall prompt the user to save the workspace before exiting. Upon confirmation, the system shall save
the workspace before closing the window.
Operations are saved as if on a stack. When a user selects undo, the system pops the stack and reverses the
operation stored on the stack. If the stack is empty, undo is ignored.
[Rq72] When the user selects the Edit/Undo option, the system shall reverse the most recent non-undo
operation.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
30
VSeT Software Requirements Specification
[Rq73] When the user selects the Edit/Copy option, the system shall copy the currently selected item and
paste it in the system copy buffer.
[Rq74] When the user selects the Edit/Paste option, the system shall insert the item in the system copy
buffer at the current cursor location.
[Rq75] When the user selects the Edit/Option/Background option, the system shall open a color selection
dialog.
[Rq76] When the user selects a color from the color selection dialog opened during the
Edit/Option/Background operation, the background color of the currently selected window shall be set
to the selected color.
[Rq77] When the user selects the Edit/Option/Color Coding option, the system shall provide an interface
for assigning colors to values in the display. The default color assignments shall be red for slow or soft
and blue for fast.
[Rq78] When the user selects the Edit/Option/Shotpoints option, the system shall display the Shot Points
available for the currently selected model.
[Rq79] When the user selects the Edit/Option/Geophones option, the system shall display the receivers
available for the currently selected model.
[Rq80] When the user selects the Help/About option, the system shall display a window that says the
following: “Visual Analytics for Active Seismic Tomography. Version 1.0 2010-2011 Contributors.
All rights reserved”.
[Rq81] When the user selects the Help/Topics option, the system shall open a dialog and present the
available help topics. When a user selects a help topic, the help page for that topic shall be displayed.
4.3.3. Workspace Windows
[Rq82] When a workspace window is opened, the system shall read the workspace state file and create a
workspace window that replicates the state of the workspace when the workspace was last saved. The
system shall read the experiment files for all experiments in the workspace and display the names of all
experiments and models in those experiments in the Experiment Manager Window. The system shall
create Model Visualization Windows for each model displayed when the workspace state was saved.
The system shall update the Experiment Information Window.
[Rq83] When the user selects the Open icon from the toolbar, the system shall respond as if the File/Open
menu option had been selected.
[Rq84] When the user selects the Save icon from the toolbar, the system shall respond as if the File/Save
menu option had been selected.
[Rq85] When the user selects the Snapshot icon from the toolbar, the system shall attempt to save a
snapshot (See section 4.4).
[Rq86] When the user selects the Animate icon from the toolbar, the system shall attempt to create or
display an animation (See section 4.4).
[Rq87] When the user selects the Slice icon from the toolbar, the system shall attempt to create a slice (see
section 4.4).
[Rq88] When the user selects the Rotate icon from the toolbar, the system shall enter rotate mode (see
section 4.4).
[Rq89] When the user selects the Zoom icon from the toolbar, the system shall enter zoom mode (see
section 4.4).
[Rq90] When the user selects the Help icon from the toolbar, the system shall respond as if the
Help/Topics menu option had been selected.
[Rq91] When a user enters text in the filter text box of the Experiment Manager Window, the system
redraw the Experiment Manager Window displaying only the lines of text matching the filter
expression. The filter expression is a POSIX Basic Regular Expression that supports the following
standard metacharaters: *, [, ], ^, $, and \.
[Rq92] When a user selects a model from the Experiment Manager Window, the system shall read the
model and open a new Model Visualization Window that displays the selected model.
[Rq93] When a new Model Visualization Window is opened, the system shall place it in the Visualization
Area of the Workspace Window in the upper left hand corner.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
31
VSeT Software Requirements Specification
[Rq94] When a Model Visualization Window is added to the Visualization Area and other Model
Visualization Windows are present, the Model Visualization Windows will be resized so that all Model
Visualization Windows can be seen. When resizing the windows reduces them to some minimum size
(TBD), the Visualization Area will be expanded, and partially displayed, with scroll bars indicating
additional viewing area.
[Rq95] When the Model Visualization Window is displaying a Model Information Window and the user
selects the Information Window Hide icon, the system shall close the Model Information Window,
expand the model visualization to occupy the entire Model Visualization Window, and display an
Information Window Show icon.
[Rq96] When the user selects the Information Window Show icon in a Model Visualization Window, the
system shall open the Model Information Window, reduce the model visualization to provide space for
the information window, and populate the information window with current model information
including the file name, the experiment name, the iteration and step numbers.
[Rq97] When the user selects a Model Visualization Window in the Visualization Area and drags the
window with the mouse, the system shall move the window to the location where the drag operation is
terminated.
[Rq98] When the user selects a Model Visualization Window and presses the Delete key, the system shall
close the selected Model Visualization Window.
4.3.4. Synchronize Windows
[Rq99] When the user creates a new synchronization group, the group name shall be added to the
configuration.
[Rq100] When the user adds or deletes a model visualization window to or from a synchronization group,
the change shall be made to the configuration.
[Rq101] When the user applies any model visualization action such as pan, zoom, or rotate to a model
visualization window in a synchronization group, the system shall apply the operation to all model
visualization windows in the same synchronization group.
4.3.5. Toolbar Modes
[Rq102] When the user selects the Pan option from the Toolbar, the system shall enter Pan mode.
[Rq103] When the user performs a drag operation on a Model Visualization Window in Pan mode, the
system shall redraw the visualization using a new center point for the visualization. The new center
point shall be determined by taking the point under the pointing device at the start of the drag and
moving to the location under the cursor at the end of the drag,
[Rq104] When the user selects the Zoom option from the Toolbar, the system shall enter Zoom mode.
[Rq105] When the user performs a drag operation on a Model Visualization Window in Zoom mode, the
system shall redraw the visualization. A drag that corresponds to moving the cursor up on the screen
shall zoom in; a drag that corresponds to moving the cursor down on the screen shall zoom out.
Moving the cursor approximately one half the size of the visualization window should result in a factor
of two zoom operation. For example, if the user drags the mouse down one visualization area height,
the selected visualization window will zoom out, and the graphics visible in the window before the
operation will take half the window at the end of the operation with the remainder of the window filled
in with new graphics.
[Rq106] The zoom operation shall preserve the center of the visualization.
[Rq107] When the user selects the Rotate option from the Toolbar, the system shall enter Rotate mode.
[Rq108] When the user performs a vertical drag operation on a Model Visualization Window in Rotate
mode, the system shall redraw the visualization by rotating the image around the visualization window
x axis.
[Rq109] When the user performs a horizontal drag operation on a Model Visualization Window in Rotate
mode, the system shall redraw the visualization by rotating the image around the visualization window
y axis.
[Rq110] When the user selects on the pan option, the system shall change the mouse cursor to a hand icon.
[Rq111] When the user selects on the slice option, the system shall change the mouse cursor into a knife
icon.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
32
VSeT Software Requirements Specification
[Rq112] When the user slices the model, the user will right click and drag a line on the model in any
direction on the current axis and the system shall cut the model by the line selected on the model.
[Rq113] When the user selects the rotate option, the system shall change the mouse cursor into a curved
arrow icon.
4.3.5.1. Video Options
[Rq114] When the system is displaying an animation window and the user selects play, the system shall
start playing from the current frame at the normal speed. The default current frame is the first frame.
[Rq115] When the system is displaying an animation window and the user selects stop, the system shall set
the current frame to the first frame. The state of the system shall be displaying the first frame and not
animating.
[Rq116] When the system is displaying an animation window and the user selects pause, the system shall
stop animating and display the current frame.
[Rq117] When the system is displaying an animation window, the system is animating, and the user selects
fast forward, the system shall double the animation rate and continue animating.
[Rq118] When the system is displaying an animation window, the system is not animating, and the user
selects fast forward, the system shall ignore the selection.
[Rq119] When the system is displaying an animation window and the user selects rewind, the system shall
animate in the reverse direction, i.e., backwards.
[Rq120] When the system is animating and arrives at either the first or last frame in the animation and
looping mode is off, the animation shall stop and the current frame shall be displayed.
[Rq121] When the system is animating forward and arrives at the last frame in the animation and looping
mode is on, the animation shall set the current frame to the first frame and continue animating.
[Rq122] When the system is animating backward and arrives at the first frame in the animation and looping
mode is on, the animation shall set the current frame to the last frame and continue animating.
[Rq123] When user selects the Fast Forward option, the system shall speed up the frames per second of the
currently playing video twice as fast, up to eight times as fast in increments of two. If a video is not
currently playing, this menu option shall not be available.
[Rq124] When user selects the Rewind option, the system shall play the frames in backward order half as
fast as before for every click thereafter, up to one eighth as fast as normal. If a video is not currently
playing, this menu option shall not be available.
[Rq125] When user selects and drags the Play Slider, the system shall jump to the frame according to
where the Play Slider is currently located. It will stop wherever the user leaves the Play Slider at. If a
video is not currently playing, this menu option shall not be available.
[Rq126] The system shall be able to play a user created model video comprised of iterations of a particular
model within the system.
[Rq127] The system shall be able to create a frame-by-frame user created model video of iterations of a
particular model within the system.
4.3.6. Create Animation
[Rq128] When the user chooses to display their animation, the system shall compile the created sequence
so the video can be viewed in the video format(.avi, .mov or .mpeg) selected.
[Rq129] When the user chooses to create an animation, the system shall allow the user to create a sequence
of model types and screenshots of the models.
[Rq130] The visualization system shall produce an animation of velocity models which will include
multiple steps and iterations produced by Hole’s Code.
[Rq131] The visualization system shall allow for the compilation of visuals to be made into animations,
which will be of models, and how they are changed, the user can view models of specific iterations of
a specific model.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
33
VSeT Software Requirements Specification
4.4.
Related Features
4.4.1. Convergence
[Rq132] The system shall provide a measure of the convergence of Hole’s code between iterations. The
algorithm for convergence checking is TBD.
4.4.2. Iso-surfaces
[Rq133] The system shall compute and display iso-surfaces for model visualizations. The interface and
algorithms for displaying iso-surfaces is TBD.
[Rq134] The system shall display up to ten iso-surfaces in a model visualization.
4.5.
Functional
[Rq135] The system shall allow the user to log off from their Cyber-ShARE account, but the Hole’s Code
process shall continue to run, and the visualization process shall continue as well. When the user
comes back to view the visualization, the user can view the updated visualization that was in
processing while the user was away.
[Rq136] The statistics consist of, color scale for each model, the average velocity and the maximum and
minimum velocity.
[Rq137] The visualization system shall generate a 3D velocity model that will update after each iteration
and will visualize the updated 3D model, and put all the iteration visual files into one single application
file
[Rq138] The visualization system shall allow the user to compare velocity models and values from
different iterations and view them side by side
[Rq139] The system shall be able to produce an image while Hole’s Code is processing continuously or
until Hole’s Code is complete.
[Rq140] For every three dimensional time model the visualization system shall compute the coverage.
[Rq141] For every source and receiver sensor the visualization system shall compute coverage and
velocity perturbations for every iteration.
[Rq142] The system shall enable the user to view a model derived from the file system at any iteration of
Hole’s Code, at any step within a Hole’s Code iteration, and for any shotpoint for any receiver.
[Rq143] The system shall display a pop-up window with an error message if parameter and file do not
match and clear the main window on the user interface.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
34
VSeT Software Requirements Specification
5.
Non-behavioral Requirements
5.1.
Performance Requirements
No performance requirements have been identified at this time.
5.2.
Security
For users accessing the server directly, security is provided by the Unix/Linux operating system.
No additional security requirements have been identified.
5.3.
Qualitative Requirements
This section focuses on software properties that the system should enclose.
5.3.1. Availability
No availability requirements have been identified at this time.
5.3.2. Maintainability
We found no requirements associated with Maintainability requirements.
5.3.3. Portability
[Rq144] The System shall run on Linux/Unix Operating system.
[Rq145] The system shall be able to run independently of Hole’s code or STG.
5.3.4. Design and Implementation Constraints
[Rq146] The system shall use the VTK API 5.6.1 in order to render three dimensional models.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
35
VSeT Software Requirements Specification
6.
Other Requirements
6.1.
Database
[Rq147] The system shall be able to access Hole’s code Database, from which VSeT will obtain the binary
files necessary for visualizing a 3D model.
Please refer to Appendix C for file system structure
6.2.
Operations
No operations requirements have been identified.
6.3.
Site Adaptation
[Rq148] The system shall utilize the CyberSHARE visualization cluster for display.
[Rq149] The system shall support a visualization interface over the Internet.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
36
VSeT Software Requirements Specification
7.
Appendix A: Analysis Models
7.1.
Data Flow Diagram
This section identifies and describes the various data flows within the proposed system. It describes the
interactions of the data transmitted between actors and different processes.
Time
Clock
Path of Geology Project
Search for
Models
Parse XML
XML File
Model Names
XML Path
Search for XML
Model Names
Model Names
Angle
Model Name
Select Model
User
Rotate Model
Axes
Color
Model Type
Binary File
Axis
Move Model
Distance
Slice
Slice Coordinates
Coordinates (Final)
Move Coordinates
Angle
Coordinates (Latest)
Model
Information
Calculate
Camera
Position
Camera
Coordinates
Model
Coordinates (Initial)
Zoom Magnitude
Rotate Coordinates
Plane
Create Model
Calculate Final
Coordinates
Model
Coordinates
Save Image to
File
File Name
Image
Models
Coordinates
File System
2D Representation of Models
Display Models
Create
Animation
Display
Experiment Information
Animation
Seconds Per Model
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
37
VSeT Software Requirements Specification
7.2.
State Diagrams
7.2.1. System State Diagram
Workspace Selected [Exist] /
Open selected workspace
Selecting
Workspace
Creating New
Workspace
Workspace created/ Display workspace
Managing
Workspace
All Models Closed,
Managing Interface Selected
Model Opened
Add Experiment,
Remove Experiment
Workspace Selected [Not Exist]/
Create selected workspace
Visualizing
Animation started / Open Animation Interface
Animation Interface closed
[Animation Interface opened from Managing Experiments] /
Close Animation Interface
Animating
Animation started/
Open Animation Interface
Animation Interface Closed
[Animation Interface opened from Visualizing] /
Close Animation Interface
System Exit
7.2.2. Visualizing Sub-state Diagram
Model(s) Selected,
Pan Performed / Render Model,
Zoom Performed / Render Model,
Rotation Performed / Render Model
Slicing Option Selected
Slicing
Plane Specified
Slicing Finished / Render Model
Visualizing Models
Color Changed / Render Model
Change Color Option Selected
Sync Button Pressed /
Selected Models Added to Sync
Group
Coloring
Color Specified
Visualization Closed
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
38
VSeT Software Requirements Specification
7.2.3. Animating Sub-state Diagram
Selecting Models
&
Parameters
Generate Options Selected/
Generate Animation with Parameters
Generating
Animation
Animation Speed Changed/Update Animation
Generation finished/Prepare animation for playing
Animation Speed Changed/Update Animation
Filter Selected
**Stopping Actions
*Keep Playing
Actions
Playing Animation
Stopped Animation
+Keep Stopped
Actions
++Start Playing Actions
Actions Available While Playing
Animation:
*Keep Playing Actions
- Step Forward/Animation continues to model after current
- Step Backward/Animation goes back to model before current
- Activate Loop[Animation is not in loop]/Sets the animation to loop
- Deactivate Loop[Animation is in loop]/Sets the animation to not loop
**Stopping Actions
- Pause/Animation stops playing
- Go to beginning/Animation goes to the first model and stops playing
- Go to end/Animation goes to the last model and stops playing
Actions Available While Stopped
Animation:
+Keep Stopped Actions
- Step Forward/Animation moves to the model after current
- Step Backward/Animation moves to the model before current
- Go to beginning/Animation shows the first model
- Go to end/Animation shows the last model
- Activate Loop[Animation is not in loop]/Sets the animation to loop
- Deactivate Loop[Animation is in loop]/Sets the animation to not loop
++Start Playing Actions
- Play/Animations starts playing
Close Animation Interface
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
39
VSeT Software Requirements Specification
7.3.
Class Diagram
SyncGroup
+addSyncModel()
+removeSyncModel()
*
1
1
Workspace
VisualizationWindow
Experiment
*
-ExperimentFile
-UserName
-ProjectPath
-MaxIterations
-ServerName
-Date
+listModels()
+parseXml()
+addModel()
+removeModel()
+listModels()
+animate()
+createNewSyncGroup()
+syncAll()
+addExperiment()
+removeExperiment()
+saveWorkspace()
+loadWorkspace()
1
*
-listOfIterations
windows
1
*
1
+setModel()
+removeModel()
+undo()
+redo()
+pan()
+rotate()
+slice()
+resetPosition()
*
1
1
Model
GeologicProject
-shotpoints
-geophones
*
TimeModel
-intensities
-currentShotpoint
-IterationNum
-Step
-Path
-SizeOfCells
-CellValues
-Type
-CellCoordinates
+visualize()
VelocityModel
-intensities
InitialVelocityModel
Software Requirements Specification
1
current model
CoverageModel
-coverages
VelocityPerturbationModel
Date
7/13/2017 10:37 PM
Page
40
VSeT Software Requirements Specification
8.
Appendix B: Hole’s Code File System Structure
Hole’s code uses the following file system structure to keep necessary and generated files organized and readily
available.
When Hole’s code runs an experiment all files are saved in the user’s folder and folders for the scripts and
models are generated. An example of such structure is as follows:
/stg/username/
Contains the experiments for the user
/stg/username/experimentname
Contains the necessary scripts, experiment file, initial models, pick time files for every iteration.
Example files:
Experimentname.xml
1.pix
1.stat
2.pix
2.stat
..
n.pix
n.stat
vzero.par
vel.3d
vel.1d
/stg/username/experimentname/models
Contains the folders for the time, velocity and perturbation models.
/stg/username/experimentname/models/time
Contains the time models in raw format that are generated by Hole’s code for every iteration.
Example files:
time.3d
/stg/username/experimentname/models/velocity
Contains the time models in raw format that are generated by Hole’s code for every iteration.
Example files:
vel.3d
/stg/username/experimentname/models/perturbations
Contains the time models in raw format that are generated by Hole’s code for every iteration.
Example files:
dusum.3d
/stg/username/experimentname/models/coverage
Contains the time models in raw format that are generated by Hole’s code for every iteration.
Example files:
icov.3d
The following is a description of common files used by Hole’s code along with output files generated by them.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
41
VSeT Software Requirements Specification
vel1d.f
vel.1d
vel.3d /
velaa66.3d.u
punch.c
time.3d
/time.3d1.u
cover.f
icov.3d /
icovsh.3d
du.3d
/duSumU.3d
Program for converting a set of converting a set of v(z) datapoints to an
equally sampled 3d velocity file.
Output file from vel1d.f for 1-D profile.
Output file from vel1d.f for 3-D grid.
Program that implements forward modeling by taking a velocity model
and using Vidale’s algorithm to calculate the first arrival travel time for
each grid point.
Output file from punch.c
Given shotpoint locations within a sample 3D travel time grid, finds the
ray from each shotpoing to each receiver and then determines how travel
time residuals affect each cell. (sometimes referred to back tracing)
Output file from cover.f . Length of each ray. Ray coverage array,
nrays(i,j,k) defined as the number of rays through the model cell
between t(i,j,k) and t(i+1,j+1,k+1)
Output file from cover.f . Slowness perturbation array, du(i,j,k), defined
as the sum of all ray’s perturbations within each cell
Note: The extension of binary output files can be any as long as the actual file is in raw format
Figure 4- Hole's code Input/Output files flow





vzero.par file contains the size of the model (like 231 km x 69 x31..)
Then along with the vel.3d file that vel.1d gives we include a set of files which could be multiple. The
set includes *.par, *.pix and *.stat) then running punch.c gives the time.3d model which we input into
the cover.f
Cover.f does the backtracing an it iterates the number of sets that were mentioned before.
cover.f generates two files icov.3d (ray coverage) and dusum.3d (velocity perturbation)
Then the final files generated go into tomosom.f and generate du.3d and vel.3d
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
42
VSeT Software Requirements Specification


d_add.f takes those files and generates a velnew.3d model
addc.f takes velnew.3d and repeats the process one more time.
.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
43
VSeT Software Requirements Specification
9.
Appendix C: Visualization Models (Input & Script
Files)
In order to display the visualization models it is necessary to have the proper input files. These files have to be
binary, that is, in raw format. The file extension may be any as long as the actual file is in raw format. They
also have to use unsigned short numbers. Each visualization model requires a script with predefined parameters.
VTK takes the script along with these predefined parameters in order to render the visualization. The scripts for
each model are very similar to each other. All scripts on the first lines contain the following code:
# Create the reader for the data
vtkImageReader reader
reader SetFileName "C:/Users/Igris/Desktop/icovsh.3d"
reader SetDataScalarTypeToUnsignedShort
reader SetDataByteOrderToLittleEndian
reader SetFileDimensionality 3
reader SetDataOrigin 0 0 0
reader SetDataSpacing 1 1 1
reader SetDataExtent 0 229 0 24 0 67
reader SetNumberOfScalarComponents 1
reader FileLowerLeftOn
The first highlighted line is to provide the input file in binary format. It shall be able to be specified by the user.
The second highlighted line is to set the size of the model. The user shall be able to specify the exact size of the
model.
There exists a single exception, in the “CoverViz” file, the size of the model has to be set to X-1, Y-1 and Z-1.
This is necessary because Cover contains and visualizes cells and not vertices as the other files. On the bottom
of all the scripts you can also see the following:
#Render
ren1 AddVolume volume
ren1 SetBackground 1 1 1
ren1 AddActor outlineActor
renWin SetSize 600 600
renWin Render
# Maginfiy the image? How much?
vtkRenderLargeImage renderLarge
renderLarge SetInput ren1
renderLarge SetMagnification 1
# We write out the image which causes the rendering to occur.
vtkTIFFWriter writer
writer SetInputConnection [renderLarge GetOutputPort]
writer SetFileName cover.jpg
writer Write
In this second section of code, the first highlighted line sets the size of the window for the visualization in
pixels. The user shall be able to specify this as well. The second highlighted line sets the file name where we
want to save the image.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
44
VSeT Software Requirements Specification
10. Appendix D: Velocity Model
A seismic model that indicates varying velocities in the structure of the earth. An example of a velocity model
visualization is shown in the image below.
Figure 5- Velocity Model sample screen shot
The sample script for this model is the following:
# This is a simple volume rendering example that
# uses a vtkVolumeRayCast mapper
package require vtk
package require vtkinteraction
# Create the standard renderer, render window
# and interactor
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Create the reader for the data
vtkImageReader reader
reader SetFileName "C:/Users/Igris/Desktop/velaa66.3d.u"
reader SetDataScalarTypeToUnsignedShort
reader SetDataByteOrderToLittleEndian
reader SetFileDimensionality 3
reader SetDataOrigin 0 0 0
reader SetDataSpacing 1 1 1
reader SetDataExtent 0 230 0 25 0 68
reader SetNumberOfScalarComponents 1
reader FileLowerLeftOn
#reader SetDataMask 0x7fff
# Create transfer mapping scalar value to opacity
vtkPiecewiseFunction opacityTransferFunction
opacityTransferFunction AddPoint 20 0.0
opacityTransferFunction AddPoint 255 0.2
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
45
VSeT Software Requirements Specification
# Create transfer mapping scalar value to color
vtkColorTransferFunction colorTransferFunction
colorTransferFunction AddRGBPoint
0.0 1.0 0.0 0.0
colorTransferFunction AddRGBPoint 30315.0 0.0 0.0 1.0
# The property describes how the data will look
vtkVolumeProperty volumeProperty
volumeProperty SetColor colorTransferFunction
volumeProperty SetScalarOpacity opacityTransferFunction
volumeProperty ShadeOn
volumeProperty SetInterpolationTypeToLinear
############################################################
# Create five surfaces F(x,y,z) = constant between range specified. The
# GenerateValues() method creates n isocontour values between the range
# specified.
vtkContourFilter contours
contours SetInput [reader GetOutput]
contours GenerateValues 30 0.0 30315.0
vtkPolyDataMapper contMapper
contMapper SetInput [contours GetOutput]
contMapper SetScalarRange 0.0 30315.0
vtkActor contActor
contActor SetMapper contMapper
# We'll put a simple outline around the data.
vtkOutlineFilter outline
outline SetInput [reader GetOutput]
vtkPolyDataMapper outlineMapper
outlineMapper SetInput [outline GetOutput]
vtkActor outlineActor
outlineActor SetMapper outlineMapper
eval [outlineActor GetProperty] SetColor 0 0 0
###########################################################
# The mapper / ray cast function know how to render the data
vtkVolumeRayCastCompositeFunction compositeFunction
vtkVolumeRayCastMapper volumeMapper
volumeMapper SetVolumeRayCastFunction compositeFunction
volumeMapper SetInputConnection [reader GetOutputPort]
# The volume holds the mapper and the property and
# can be used to position/orient the volume
vtkVolume volume
volume SetMapper volumeMapper
volume SetProperty volumeProperty
volume RotateX 90
contActor RotateX 90
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
46
VSeT Software Requirements Specification
outlineActor RotateX 90
ren1 AddVolume volume
ren1 SetBackground 1 1 1
ren1 AddActor contActor
ren1 AddActor outlineActor
renWin SetSize 600 600
renWin Render
# Maginfiy the image? How much?
vtkRenderLargeImage renderLarge
renderLarge SetInput ren1
renderLarge SetMagnification 1
# We write out the image which causes the rendering to occur.
vtkTIFFWriter writer
writer SetInputConnection [renderLarge GetOutputPort]
writer SetFileName vel3d.jpg
writer Write
# User interactions
proc TkCheckAbort {} {
set foo [renWin GetEventPending]
if {$foo != 0} {renWin SetAbortRender 1}
}
renWin AddObserver AbortCheckEvent {TkCheckAbort}
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
wm withdraw .
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
47
VSeT Software Requirements Specification
11. Appendix E: Time 3D Model
This model represents seismic waves produced by the shotpoint, and the geophones capturing the waves
according to time.There are two types of Time 3D Models that are visualized. One displays the volume, usually
runs slower but fills in the gaps of the contours. The second one leaves blank spaces between the iso-surfaces
but it displays faster.
Figure 6- Time 3D Model with volume sample screen shot
The sample script for Time 3D Model is the following:
# This is a simple volume rendering example that
# uses a vtkVolumeRayCast mapper
package require vtk
package require vtkinteraction
# Create the standard renderer, render window
# and interactor
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Create the reader for the data
vtkImageReader reader
reader SetFileName "C:/Users/Igris/Desktop/time.3d1.u"
reader SetDataScalarTypeToUnsignedShort
reader SetDataByteOrderToLittleEndian
reader SetFileDimensionality 3
reader SetDataOrigin 0 0 0
reader SetDataSpacing 1 1 1
reader SetDataExtent 0 230 0 25 0 68
reader SetNumberOfScalarComponents 1
reader FileLowerLeftOn
#reader SetDataMask 0x7fff
# Create transfer mapping scalar value to opacity
vtkPiecewiseFunction opacityTransferFunction
opacityTransferFunction AddPoint 20 0.0
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
48
VSeT Software Requirements Specification
opacityTransferFunction AddPoint 255 0.2
# Create transfer mapping scalar value to color
vtkColorTransferFunction colorTransferFunction
colorTransferFunction AddRGBPoint
0.0 1.0 0.0 0.0
colorTransferFunction AddRGBPoint 30315.0 0.0 0.0 1.0
# The property describes how the data will look
vtkVolumeProperty volumeProperty
volumeProperty SetColor colorTransferFunction
volumeProperty SetScalarOpacity opacityTransferFunction
volumeProperty ShadeOn
volumeProperty SetInterpolationTypeToLinear
############################################################
# Create five surfaces F(x,y,z) = constant between range specified. The
# GenerateValues() method creates n isocontour values between the range
# specified.
vtkContourFilter contours
contours SetInput [reader GetOutput]
contours GenerateValues 30 0.0 30315.0
vtkPolyDataMapper contMapper
contMapper SetInput [contours GetOutput]
contMapper SetScalarRange 0.0 30315.0
vtkActor contActor
contActor SetMapper contMapper
# We'll put a simple outline around the data.
vtkOutlineFilter outline
outline SetInput [reader GetOutput]
vtkPolyDataMapper outlineMapper
outlineMapper SetInput [outline GetOutput]
vtkActor outlineActor
outlineActor SetMapper outlineMapper
eval [outlineActor GetProperty] SetColor 0 0 0
###########################################################
# The mapper / ray cast function know how to render the data
vtkVolumeRayCastCompositeFunction compositeFunction
vtkVolumeRayCastMapper volumeMapper
volumeMapper SetVolumeRayCastFunction compositeFunction
volumeMapper SetInputConnection [reader GetOutputPort]
# The volume holds the mapper and the property and
# can be used to position/orient the volume
vtkVolume volume
volume SetMapper volumeMapper
volume SetProperty volumeProperty
volume RotateX 90
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
49
VSeT Software Requirements Specification
contActor RotateX 90
outlineActor RotateX 90
ren1 AddVolume volume
ren1 SetBackground 1 1 1
ren1 AddActor contActor
ren1 AddActor outlineActor
renWin SetSize 600 600
renWin Render
# Maginfiy the image? How much?
vtkRenderLargeImage renderLarge
renderLarge SetInput ren1
renderLarge SetMagnification 1
# We write out the image which causes the rendering to occur.
vtkTIFFWriter writer
writer SetInputConnection [renderLarge GetOutputPort]
writer SetFileName time3D_withVol.jpg
writer Write
# User interactions
proc TkCheckAbort {} {
set foo [renWin GetEventPending]
if {$foo != 0} {renWin SetAbortRender 1}
}
renWin AddObserver AbortCheckEvent {TkCheckAbort}
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
wm withdraw .
Figure 7- Time 3D Model without volume sample screen shot
The sample script for Time 3D Model without volume is the following:
# This is a simple volume rendering example that
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
50
VSeT Software Requirements Specification
# uses a vtkVolumeRayCast mapper
package require vtk
package require vtkinteraction
# Create the standard renderer, render window
# and interactor
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Create the reader for the data
vtkImageReader reader
reader SetFileName "C:/Users/Igris/Desktop/time.3d1.u"
reader SetDataScalarTypeToUnsignedShort
reader SetDataByteOrderToLittleEndian
reader SetFileDimensionality 3
reader SetDataOrigin 0 0 0
reader SetDataSpacing 1 1 1
reader SetDataExtent 0 230 0 25 0 68
reader SetNumberOfScalarComponents 1
reader FileLowerLeftOn
#reader SetDataMask 0x7fff
# Create transfer mapping scalar value to opacity
vtkPiecewiseFunction opacityTransferFunction
opacityTransferFunction AddPoint 20 0.0
opacityTransferFunction AddPoint 255 0.2
# Create transfer mapping scalar value to color
vtkColorTransferFunction colorTransferFunction
colorTransferFunction AddRGBPoint
0.0 1.0 0.0 0.0
colorTransferFunction AddRGBPoint 30315.0 0.0 0.0 1.0
# The property describes how the data will look
vtkVolumeProperty volumeProperty
volumeProperty SetColor colorTransferFunction
volumeProperty SetScalarOpacity opacityTransferFunction
volumeProperty ShadeOn
volumeProperty SetInterpolationTypeToLinear
############################################################
# Create five surfaces F(x,y,z) = constant between range specified. The
# GenerateValues() method creates n isocontour values between the range
# specified.
vtkContourFilter contours
contours SetInput [reader GetOutput]
contours GenerateValues 30 0.0 30315.0
vtkPolyDataMapper contMapper
contMapper SetInput [contours GetOutput]
contMapper SetScalarRange 0.0 30315.0
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
51
VSeT Software Requirements Specification
vtkActor contActor
contActor SetMapper contMapper
# We'll put a simple outline around the data.
vtkOutlineFilter outline
outline SetInput [reader GetOutput]
vtkPolyDataMapper outlineMapper
outlineMapper SetInput [outline GetOutput]
vtkActor outlineActor
outlineActor SetMapper outlineMapper
eval [outlineActor GetProperty] SetColor 0 0 0
###########################################################
contActor RotateX 90
outlineActor RotateX 90
ren1 SetBackground 1 1 1
ren1 AddActor contActor
ren1 AddActor outlineActor
renWin SetSize 600 600
renWin Render
# Maginfiy the image? How much?
vtkRenderLargeImage renderLarge
renderLarge SetInput ren1
renderLarge SetMagnification 1
# We write out the image which causes the rendering to occur.
vtkTIFFWriter writer
writer SetInputConnection [renderLarge GetOutputPort]
writer SetFileName time3D_noVol.jpg
writer Write
# User interactions
proc TkCheckAbort {} {
set foo [renWin GetEventPending]
if {$foo != 0} {renWin SetAbortRender 1}
}
renWin AddObserver AbortCheckEvent {TkCheckAbort}
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
wm withdraw .
Both visualization models represent the same information
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
52
VSeT Software Requirements Specification
12. Appendix F: Coverage Model
The coverage model once shotpoint location is given within a sampled 3D travel time grid, it finds the ray from
the shotpoint to the geophones(source), and finds how the travel time residual affects each cell.
This model represents the ray coverage, defined as the number of rays through the model cell t(i,j,k) and
t(i+1,j+1,k+1)
Figure 8 - Coverage Model sample screen shot
The sample script for Coverage Model is the following:
# This is a simple volume rendering example that
# uses a vtkVolumeRayCast mapper
package require vtk
package require vtkinteraction
# Create the standard renderer, render window
# and interactor
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Create the reader for the data
vtkImageReader reader
reader SetFileName "C:/Users/Igris/Desktop/icovsh.3d"
reader SetDataScalarTypeToUnsignedShort
reader SetDataByteOrderToLittleEndian
reader SetFileDimensionality 3
reader SetDataOrigin 0 0 0
reader SetDataSpacing 1 1 1
reader SetDataExtent 0 229 0 24 0 67
reader SetNumberOfScalarComponents 1
reader FileLowerLeftOn
#reader SetDataMask 0x7fff
# Create transfer mapping scalar value to opacity
vtkPiecewiseFunction opacityTransferFunction
opacityTransferFunction AddPoint 20 0.0
opacityTransferFunction AddPoint 255 0.2
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
53
VSeT Software Requirements Specification
# Create transfer mapping scalar value to color
vtkColorTransferFunction colorTransferFunction
colorTransferFunction AddRGBPoint
0.0 0.0 0.0 0.0
colorTransferFunction AddRGBPoint 64.0 1.0 0.0 0.0
colorTransferFunction AddRGBPoint 128.0 0.0 0.0 1.0
colorTransferFunction AddRGBPoint 192.0 0.0 1.0 0.0
colorTransferFunction AddRGBPoint 255.0 0.0 0.2 0.0
# The property describes how the data will look
vtkVolumeProperty volumeProperty
volumeProperty SetColor colorTransferFunction
volumeProperty SetScalarOpacity opacityTransferFunction
volumeProperty ShadeOn
volumeProperty SetInterpolationTypeToLinear
# We'll put a simple outline around the data.
vtkOutlineFilter outline
outline SetInput [reader GetOutput]
vtkPolyDataMapper outlineMapper
outlineMapper SetInput [outline GetOutput]
vtkActor outlineActor
outlineActor SetMapper outlineMapper
eval [outlineActor GetProperty] SetColor 0 0 0
###########################################################
# The mapper / ray cast function know how to render the data
vtkVolumeRayCastCompositeFunction compositeFunction
vtkVolumeRayCastMapper volumeMapper
volumeMapper SetVolumeRayCastFunction compositeFunction
volumeMapper SetInputConnection [reader GetOutputPort]
# The volume holds the mapper and the property and
# can be used to position/orient the volume
vtkVolume volume
volume SetMapper volumeMapper
volume SetProperty volumeProperty
volume RotateX 90
outlineActor RotateX 90
ren1 AddVolume volume
ren1 SetBackground 1 1 1
ren1 AddActor outlineActor
renWin SetSize 600 600
renWin Render
# Maginfiy the image? How much?
vtkRenderLargeImage renderLarge
renderLarge SetInput ren1
renderLarge SetMagnification 1
# We write out the image which causes the rendering to occur.
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
54
VSeT Software Requirements Specification
vtkTIFFWriter writer
writer SetInputConnection [renderLarge GetOutputPort]
writer SetFileName cover.jpg
writer Write
# User interactions
proc TkCheckAbort {} {
set foo [renWin GetEventPending]
if {$foo != 0} {renWin SetAbortRender 1}
}
renWin AddObserver AbortCheckEvent {TkCheckAbort}
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
wm withdraw .
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
55
VSeT Software Requirements Specification
13. Appendix G: Perturbations Model
The Perturbations Model is represents the sum of all ray’s perturbations within each cell.
Figure 9- Perturbations Model sample screen shot
The sample script for the Perturbations model is the following:
# This is a simple volume rendering example that
# uses a vtkVolumeRayCast mapper
package require vtk
package require vtkinteraction
# Create the standard renderer, render window
# and interactor
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Create the reader for the data
vtkImageReader reader
reader SetFileName "C:/Users/Igris/Desktop/dusumU.3d"
reader SetDataScalarTypeToUnsignedShort
reader SetDataByteOrderToLittleEndian
reader SetFileDimensionality 3
reader SetDataOrigin 0 0 0
reader SetDataSpacing 1 1 1
reader SetDataExtent 0 229 0 24 0 67
reader SetNumberOfScalarComponents 1
reader FileLowerLeftOn
#reader SetDataMask 0x7fff
# Create transfer mapping scalar value to opacity
vtkPiecewiseFunction opacityTransferFunction
opacityTransferFunction AddPoint 0
0.3
opacityTransferFunction AddPoint 15000 0.3
# Create transfer mapping scalar value to color
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
56
VSeT Software Requirements Specification
vtkColorTransferFunction colorTransferFunction
colorTransferFunction AddRGBPoint 11950.0 1.0 0.0 0.0
colorTransferFunction AddRGBPoint 12025.0 0.0 0.0 1.0
# The property describes how the data will look
vtkVolumeProperty volumeProperty
volumeProperty SetColor colorTransferFunction
volumeProperty SetScalarOpacity opacityTransferFunction
volumeProperty ShadeOn
volumeProperty SetInterpolationTypeToLinear
############################################################
# Create n isocontour values between the range specified.
vtkContourFilter contours
contours SetInput [reader GetOutput]
contours GenerateValues 40 11950.0 12025.0
vtkPolyDataMapper contMapper
contMapper SetInput [contours GetOutput]
contMapper SetScalarRange 11950.0 12025.0
vtkActor contActor
contActor SetMapper contMapper
# We'll put a simple outline around the data.
vtkOutlineFilter outline
outline SetInput [reader GetOutput]
vtkPolyDataMapper outlineMapper
outlineMapper SetInput [outline GetOutput]
# Create an outline to generate a bounding box.
vtkActor outlineActor
outlineActor SetMapper outlineMapper
eval [outlineActor GetProperty] SetColor 0 0 0
# Rotate to show model properly
contActor RotateX 90
outlineActor RotateX 90
# Render objects to make them visible
ren1 SetBackground 1 1 1
ren1 AddActor contActor
ren1 AddActor outlineActor
renWin SetSize 600 600
renWin Render
# Maginfiy the image? How much?
vtkRenderLargeImage renderLarge
renderLarge SetInput ren1
renderLarge SetMagnification 1
# We write out the image which causes the rendering to occur.
vtkTIFFWriter writer
writer SetInputConnection [renderLarge GetOutputPort]
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
57
VSeT Software Requirements Specification
writer SetFileName duSum.jpg
writer Write
# User interactions
proc TkCheckAbort {} {
set foo [renWin GetEventPending]
if {$foo != 0} {renWin SetAbortRender 1}
}
renWin AddObserver AbortCheckEvent {TkCheckAbort}
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
wm withdraw .
♦
Software Requirements Specification
Date
7/13/2017 10:37 PM
Page
58