ExSeisDat issueshttps://git.ichec.ie/oilgas/ExSeisDat/-/issues2018-11-06T13:55:11Zhttps://git.ichec.ie/oilgas/ExSeisDat/-/issues/93CMake project configuration for external projects2018-11-06T13:55:11ZChristopher WernerCMake project configuration for external projectsS-01730
As a ExSeisDat Developer I want to add a CMake project configuration script to make adding ExSeisDat to external (CMake-based) projects easier.
**PreDev Notes:**
A project configuration script can save information like the com...S-01730
As a ExSeisDat Developer I want to add a CMake project configuration script to make adding ExSeisDat to external (CMake-based) projects easier.
**PreDev Notes:**
A project configuration script can save information like the compiler and flags used during compilation, along with definitions used, libraries linked, and installation directories.
This information can then be accessed from a CMake script using the `find_package` command.
See tutorials on making a projectconfig.cmake file:
https://gitlab.kitware.com/cmake/community/wikis/doc/tutorials/How-to-create-a-ProjectConfig.cmake-file
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
A CMake configure script for an external project using ExSeisDat can be written (assuming exseisdat is built and installed somewhere findable):
~~~
cmake_minimum_required(VERSION 3.5.2)
find_package(exseisdat REQUIRED)
add_executable(my_executable my_executable.cc)
target_link_libraries(my_executable exseisdat)
~~~
CREATED ON: 28/05/2018https://git.ichec.ie/oilgas/ExSeisDat/-/issues/90Python API2019-01-07T15:40:54ZChristopher WernerPython APIS-01443
As a Tullow Geophysicist, I want to be able to call PIOL features from Python because I don't know or necessarily have experience with the language the PIOL is written in.
**Pre-Dev Notes:**
A number of operations are done in ...S-01443
As a Tullow Geophysicist, I want to be able to call PIOL features from Python because I don't know or necessarily have experience with the language the PIOL is written in.
**Pre-Dev Notes:**
A number of operations are done in ExSeisDat during class destruction. This doesn't play well with Python lifetime management. Implicit operations in the destructor should be made available explicitly, either as a method, or done at the start of other write functions when the file metadata has been changes on the object.
SWIG can be used to automatically generate bindings from C++ to a number of languages, i.e. Python.
The SWIG based wrapping needs to be tested. The `wraptests` should cover this.
The C and C++ API names have become out-of-sync. These need to be updated.
Ideally, some mechanism could be put in place to confirm the coverage and naming schemes of the C wrapper, but this could prove difficult.
Ensure all destructors of exposed classes can also be called explicitly. This is needed to match the memory model of Python. Currently, some classes perform actions such as writing to file, or executing a pipeline, during destruction. Since Python is garbage collected, when this action is completed is a lot less clear than it is in C++.
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
* The full API is available through python calls
* The Python API is documented
* The user guide is updated to reflect python usage
* At least one python API example is created
**Tasks**
* [ ] Ensure all destructors of exposed classes can also be called explicitly
* [ ] Refactor: Re-sync the C and C++ APIs
* [ ] Add Python bindings
* [ ] Test Python bindings
CREATED ON - 20/04/2016March 2019 Roadmap2019-01-01https://git.ichec.ie/oilgas/ExSeisDat/-/issues/57Operation ordering GUI2018-11-06T12:25:53ZChristopher WernerOperation ordering GUIS-01586
As a Tullow Geophysicist I want a GUI for dragging and dropping operations because this would make the library more user friendly
**Pre-Dev Notes:**
Make a workflow-style GUI for preprocessing etc. qml
QT5 with QT-3D?
This ...S-01586
As a Tullow Geophysicist I want a GUI for dragging and dropping operations because this would make the library more user friendly
**Pre-Dev Notes:**
Make a workflow-style GUI for preprocessing etc. qml
QT5 with QT-3D?
This story is about ease of use. We would like the library to be accessible to all. Thus have a drag/drop interface to order operations would give more people access to the library. In addition to generating C/C++ code, it could generate a cmake file for compiling the code since the GUI will most likely be run on a local machine but compiled and run on a cluster.
A first step might be to look at the code generation from a list of operations, e.g. in a txt file
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
GUI interface outputs C++ code to do operations chosen by the user
CREATED ON - 21/02/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/44Save a flow with ExSeisFlow to a .hist compatible OpenCPS file2018-11-06T12:04:01ZChristopher WernerSave a flow with ExSeisFlow to a .hist compatible OpenCPS fileS-01662
As a Tullow Geophysicist I would like that a workflow with ExSeisFlow to be output with a .hist compatible OpenCPS file so that the history of processing is recorded for accountability and QC.
**Pre-Dev Notes:**
What does Tu...S-01662
As a Tullow Geophysicist I would like that a workflow with ExSeisFlow to be output with a .hist compatible OpenCPS file so that the history of processing is recorded for accountability and QC.
**Pre-Dev Notes:**
What does Tullow want to do with this file?
Does it need interface with Reveal or simply a file log of operations applied to traces?
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON 13/07/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/42Adding custom operations in a a workflow2018-11-06T12:02:29ZChristopher WernerAdding custom operations in a a workflowS-01702
As a Tullow Geophysicist I want to be able create and pass custom operations to Flow.
**PreDev Notes:**
Example:
Want to modify offsets so they are binned, thus apply the following operation to all headers:
int offbin = 50
...S-01702
As a Tullow Geophysicist I want to be able create and pass custom operations to Flow.
**PreDev Notes:**
Example:
Want to modify offsets so they are binned, thus apply the following operation to all headers:
int offbin = 50
offset = floor( getPrm(i, Meta::offset, prm) / offbin ) * offbin
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
* [ ] Can create arbitrary Flow::Set operations.
CREATED ON 19/12/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/37Matlab API2018-11-06T12:00:59ZChristopher WernerMatlab APIS-01684
As a Tullow Geophysicist, I want to be able to call PIOL features from Matlab because I don't know or necessarily have experience with the language the PIOL is written in.
**Pre-Dev Notes:**
* Library function should be able c...S-01684
As a Tullow Geophysicist, I want to be able to call PIOL features from Matlab because I don't know or necessarily have experience with the language the PIOL is written in.
**Pre-Dev Notes:**
* Library function should be able called nativity
* Library should run in serial and parallel - need to investigate MATLAB's parallel programming library
**Implementation Notes:**
{- ADDME -}
**System Test Changes:**
{- ADDME -}
**Bug Fixes:**
{- ADDME -}
**C++ API Changes:**
{- ADDME -}
**C API Changes:**
{- ADDME -}
**Success Criteria:**
{- ADDME -}
CREATED ON - 02/11/2017https://git.ichec.ie/oilgas/ExSeisDat/-/issues/9Test Python bindings2018-11-06T14:08:15ZPádraig Ó ConbhuíTest Python bindingsThe SWIG based wrapping needs to be tested. The `wraptests` should cover this.The SWIG based wrapping needs to be tested. The `wraptests` should cover this.March 2019 Roadmap2019-01-01https://git.ichec.ie/oilgas/ExSeisDat/-/issues/8Add Python bindings2018-12-17T15:37:30ZPádraig Ó ConbhuíAdd Python bindingsSWIG can be used to automatically generate bindings from C++ to a number of languages, i.e. Python.SWIG can be used to automatically generate bindings from C++ to a number of languages, i.e. Python.March 2019 Roadmap2019-01-01