SegmentSignalPy 0.1.3__cp315-cp315-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- C DLL/DLLExport.h +11 -0
- CPP Static Library/NoiseVarianceEstimateMethod.h +17 -0
- CPP Static Library/SegmentSignal.cpp +167 -0
- CPP Static Library/SegmentSignal.h +195 -0
- CPP Static Library/SegmentSignalFunctions.cpp +797 -0
- CPP Static Library/SegmentSignalFunctions.h +52 -0
- CPP Static Library/SegmentationResults.cpp +82 -0
- CPP Static Library/SegmentationResults.h +101 -0
- CPP Unit Tests/InputDataEnum.h +14 -0
- CPP Unit Tests/stdafx.h +13 -0
- CPP Unit Tests/targetver.h +8 -0
- Python Extension/SegmentationResultsPy.cpp +126 -0
- Python Extension/SegmentationResultsPy.h +119 -0
- Python Extension/module.cpp +140 -0
- Python Extension/setup.py +26 -0
- SegmentSignalPy.cp315-win_amd64.pyd +0 -0
- segmentsignalpy-0.1.3.dist-info/METADATA +72 -0
- segmentsignalpy-0.1.3.dist-info/RECORD +21 -0
- segmentsignalpy-0.1.3.dist-info/WHEEL +5 -0
- segmentsignalpy-0.1.3.dist-info/licenses/License.txt +20 -0
- segmentsignalpy-0.1.3.dist-info/top_level.txt +9 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from setuptools import setup
|
|
3
|
+
from setuptools import Extension
|
|
4
|
+
from pybind11 import get_include
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
sourceDirectory = os.path.join("src", "CPP Static Library")
|
|
8
|
+
pythonDirectory = os.path.join("src", "Python Extension")
|
|
9
|
+
|
|
10
|
+
setup(
|
|
11
|
+
ext_modules=[
|
|
12
|
+
Extension(
|
|
13
|
+
name="SegmentSignalPy",
|
|
14
|
+
sources=[
|
|
15
|
+
os.path.join(pythonDirectory, file)
|
|
16
|
+
for file in ["module.cpp", "SegmentationResultsPy.cpp"]
|
|
17
|
+
] + [
|
|
18
|
+
os.path.join(sourceDirectory, file)
|
|
19
|
+
for file in ["SegmentSignalFunctions.cpp", "SegmentationResults.cpp", "SegmentSignal.cpp"]
|
|
20
|
+
],
|
|
21
|
+
include_dirs=[get_include(), sourceDirectory],
|
|
22
|
+
language="c++",
|
|
23
|
+
extra_compile_args=[]
|
|
24
|
+
)
|
|
25
|
+
]
|
|
26
|
+
)
|
|
Binary file
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: SegmentSignalPy
|
|
3
|
+
Version: 0.1.3
|
|
4
|
+
Summary: Signal segmentation algorithm by S. Radhakrishnan, et al. This is a Python interface for the C++ algorithm.
|
|
5
|
+
License: Copyright (c) 2021-2024 Lance A. Endres
|
|
6
|
+
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
8
|
+
a copy of this software and associated documentation files (the
|
|
9
|
+
"Software"), to deal in the Software without restriction, including
|
|
10
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
11
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
12
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
13
|
+
the following conditions:
|
|
14
|
+
|
|
15
|
+
The above copyright notice and this permission notice shall be
|
|
16
|
+
included in all copies or substantial portions of the Software.
|
|
17
|
+
|
|
18
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
19
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
20
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
21
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
22
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
23
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
24
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
25
|
+
|
|
26
|
+
Project-URL: homepage, https://github.com/lendres/Segment-Signals
|
|
27
|
+
Requires-Python: >=3.11.0
|
|
28
|
+
Description-Content-Type: text/markdown
|
|
29
|
+
License-File: License.txt
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
|
|
32
|
+
# Segment Signals
|
|
33
|
+
A signal segmentation algorithm.
|
|
34
|
+
|
|
35
|
+
## Introduction
|
|
36
|
+
This library implements the algorithm found in:
|
|
37
|
+
[_Segmentation of well logs by maximum likelihood estimation: the algorithm and FORTRAN-77 implementation_](https://www.sciencedirect.com/science/article/pii/0098300491900237) by S.Radhakrishnan, G.Srikanth, and C.H.Mehta
|
|
38
|
+
|
|
39
|
+
The original algorithm was written in Fortran. This version converts it to C++ and C#. In addition, the following changes have been made:
|
|
40
|
+
- Converted the binary event array (Q) from double to int. Likely, the original was a double to keep all options as floats and prevent accidental round off. C/C++ automatically perform calculations as doubles when any of the parameters is a double. The binary event sequence is, of course, meant to be binary, so conversion to int is logical. This also meant a few lines could be simplified (such as comparisons). E.g. you could directly test "if (Q[i])" rather than requiring the inequality.
|
|
41
|
+
- Removed a bug from the GETSPK/GetSpikeyZone function. The fix prevents over running the end of an array.
|
|
42
|
+
- Addition of `FindSignificantZones` to allow simple filtering (removal) of small zones.
|
|
43
|
+
|
|
44
|
+
## Organization
|
|
45
|
+
A high-level view of the organization is as follows.
|
|
46
|
+
|
|
47
|
+
- CPP Static Library
|
|
48
|
+
- SegmentSignalFunctions.
|
|
49
|
+
- **It is suggested not to use these directly, but to use the class `SegmentSignal` instead.**
|
|
50
|
+
These files implement the original algorithm in C++. The function names have changed to something more readable. The original function names can be found in the comments in
|
|
51
|
+
the .cpp file. The functions have otherwise been directly converted from Fortran and should be easily comparable to those in the source paper.
|
|
52
|
+
- SegmentSignal.*
|
|
53
|
+
- A class interface to the functions that makes use of the algorithm easier.
|
|
54
|
+
- SegmentationResults.*
|
|
55
|
+
- Small class to return results of the algorithm.
|
|
56
|
+
- NoiseVarianceEstimateMethod.h
|
|
57
|
+
- Enumeration for the noise variance estimation method.
|
|
58
|
+
|
|
59
|
+
- C DLL
|
|
60
|
+
- DLL wrapper around the main SegmentSignal function. The DLL exposes a C function for calling.
|
|
61
|
+
|
|
62
|
+
- C Sharp DLL Wrapper
|
|
63
|
+
- C# interface to the DLL. Classes mirror those in C++.
|
|
64
|
+
|
|
65
|
+
- Unit Tests
|
|
66
|
+
- Testing projects. Also provides examples. See the "LogSeparateTest" functions for a basic example.
|
|
67
|
+
|
|
68
|
+
- Python Extensions
|
|
69
|
+
- Builds a library for use with Python. See the `src/Python Extensions/Read Me.txt` file in that project for more information.
|
|
70
|
+
|
|
71
|
+
## Compiling
|
|
72
|
+
The Python Extension library requires knowledge of your local Python. See the `src/Python Extensions/Read Me.txt` file in that directory for more information.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
SegmentSignalPy.cp315-win_amd64.pyd,sha256=6TV2agvQ_z-A5mH9FPLt0N6dXScA4JlKsRHTMpoCHxM,243200
|
|
2
|
+
C DLL/DLLExport.h,sha256=aln1fWfsFe4JmnINjJ8ePh4jcbZnhTM5lSrHsG9OYLQ,510
|
|
3
|
+
CPP Static Library/NoiseVarianceEstimateMethod.h,sha256=Cj6KIgU3t9utRitQsDSKF5iOkcf9dWr-rfRKjS3QQhs,365
|
|
4
|
+
CPP Static Library/SegmentSignal.cpp,sha256=XGf7SdVFowKUA1XTUV3w3vPlVMmObtCqfpLlgtpqhRY,7486
|
|
5
|
+
CPP Static Library/SegmentSignal.h,sha256=Bi7YPvFVZuxhvqhmw9SDZihzi_ZrspYnWaG_0U_3xaA,14853
|
|
6
|
+
CPP Static Library/SegmentSignalFunctions.cpp,sha256=nvjUUJrsMl8Bm3EfHlmtepXPw8xHL_4gen54zmbndXE,20026
|
|
7
|
+
CPP Static Library/SegmentSignalFunctions.h,sha256=mfYm32rUx65EGldEx_TIHfLGQ6wPKaW7q-w_50zSxuc,2733
|
|
8
|
+
CPP Static Library/SegmentationResults.cpp,sha256=TfETLOiGQgIQhEcCUqBjSvT4gejc0ls24hrX8OL8k1s,1812
|
|
9
|
+
CPP Static Library/SegmentationResults.h,sha256=o6kW4WkUFNVjYVYC0d6qE02UMwUVPTInrqC_X_UO0mM,3372
|
|
10
|
+
CPP Unit Tests/InputDataEnum.h,sha256=Mx0YNYCtwFNGhBBpbZZsh-8_6lJ0dPaC-LFp5YIFtrU,218
|
|
11
|
+
CPP Unit Tests/stdafx.h,sha256=r6zd1sbn6SgNbxw5RRdde7EVZu9FHrpW2lbZVH8DCEM,330
|
|
12
|
+
CPP Unit Tests/targetver.h,sha256=onYf29TIkldB3epnjug5jekwIH5Edma8anbV9yaEwE8,314
|
|
13
|
+
Python Extension/SegmentationResultsPy.cpp,sha256=KZXoTBjRYUfwmM_ObRcycDKB4hciLWxElIIJ5WJze4k,4112
|
|
14
|
+
Python Extension/SegmentationResultsPy.h,sha256=PNARsmd5hFZChK3nPzSaY_MPMZMW5UT63su_KvJLnxM,4074
|
|
15
|
+
Python Extension/module.cpp,sha256=7vzVS5YOBfL2S21BOwMKiR6z8GDM1hT9wYWvCTJjPv0,6726
|
|
16
|
+
Python Extension/setup.py,sha256=dFtWw5IhNRdH2SsEmtIMhsjb7tAe2WYkWe5keuzxqXA,877
|
|
17
|
+
segmentsignalpy-0.1.3.dist-info/licenses/License.txt,sha256=P9Td1RUysGlkcCTbn7PzBHFee-iPtG0zuLzEuVOB_j8,1084
|
|
18
|
+
segmentsignalpy-0.1.3.dist-info/METADATA,sha256=3cdHh9l1oOHd7qUPWUGneA5QRZXaoOf9FGmKEQXcBeE,4272
|
|
19
|
+
segmentsignalpy-0.1.3.dist-info/WHEEL,sha256=0gLwYZa0C2fhgCxWR2c8HahwUiopqonVCV0wVwEg6fE,101
|
|
20
|
+
segmentsignalpy-0.1.3.dist-info/top_level.txt,sha256=Gg1JGAQCkw2ZivMSVOurzJ3yu03GWXQVKWOrCRc_oA0,135
|
|
21
|
+
segmentsignalpy-0.1.3.dist-info/RECORD,,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2021-2024 Lance A. Endres
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|