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.
@@ -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,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.2.1)
3
+ Root-Is-Purelib: false
4
+ Tag: cp315-cp315-win_amd64
5
+
@@ -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.
@@ -0,0 +1,9 @@
1
+ C DLL
2
+ C Sharp Unit Tests
3
+ C Sharp Wrapper
4
+ CPP Static Library
5
+ CPP Unit Tests
6
+ Matlab Extension
7
+ Python Extension
8
+ SegmentSignalPy
9
+ Test Data