piblin 0.0.1__tar.gz
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.
- piblin-0.0.1/LICENSE +21 -0
- piblin-0.0.1/PKG-INFO +36 -0
- piblin-0.0.1/README.md +2 -0
- piblin-0.0.1/pyproject.toml +66 -0
- piblin-0.0.1/setup.cfg +4 -0
- piblin-0.0.1/setup.py +3 -0
- piblin-0.0.1/src/piblin/__init__.py +27 -0
- piblin-0.0.1/src/piblin/data/__init__.py +20 -0
- piblin-0.0.1/src/piblin/data/data_collections/__init__.py +66 -0
- piblin-0.0.1/src/piblin/data/data_collections/consistent_measurement_set.py +457 -0
- piblin-0.0.1/src/piblin/data/data_collections/data_collection_factory.py +100 -0
- piblin-0.0.1/src/piblin/data/data_collections/experiment.py +825 -0
- piblin-0.0.1/src/piblin/data/data_collections/experiment_set.py +1347 -0
- piblin-0.0.1/src/piblin/data/data_collections/measurement.py +2712 -0
- piblin-0.0.1/src/piblin/data/data_collections/measurement_set.py +2596 -0
- piblin-0.0.1/src/piblin/data/data_collections/summary.py +170 -0
- piblin-0.0.1/src/piblin/data/data_collections/tabular_measurement_set.py +349 -0
- piblin-0.0.1/src/piblin/data/data_collections/tidy_measurement_set.py +186 -0
- piblin-0.0.1/src/piblin/data/datasets/__init__.py +3 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/__init__.py +0 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/dataset.py +854 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/dataset_factory.py +171 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/split_datasets/__init__.py +891 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/split_datasets/distribution.py +103 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/split_datasets/histogram.py +46 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/split_datasets/one_dimensional_composite_dataset.py +320 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/split_datasets/one_dimensional_dataset.py +966 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/split_datasets/three_dimensional_dataset.py +252 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/split_datasets/two_dimensional_dataset.py +468 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/split_datasets/zero_dimensional_dataset.py +540 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/unambiguous_datasets/__init__.py +0 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/unambiguous_datasets/one_dimensional_unambiguous_dataset.py +13 -0
- piblin-0.0.1/src/piblin/data/datasets/abc/unambiguous_datasets/unambiguous_dataset.py +224 -0
- piblin-0.0.1/src/piblin/data/datasets/linear_regions.py +176 -0
- piblin-0.0.1/src/piblin/data/datasets/roi.py +276 -0
- piblin-0.0.1/src/piblin/dataio/__init__.py +299 -0
- piblin-0.0.1/src/piblin/dataio/data_collection_reader.py +512 -0
- piblin-0.0.1/src/piblin/dataio/fileio/__init__.py +202 -0
- piblin-0.0.1/src/piblin/dataio/fileio/autodetect.py +156 -0
- piblin-0.0.1/src/piblin/dataio/fileio/batch_conversion.py +417 -0
- piblin-0.0.1/src/piblin/dataio/fileio/binary.py +317 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/__init__.py +8 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/file_reader.py +188 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/file_reader_template.py +73 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/generic/__init__.py +0 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/generic/generic_csv.py +116 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/generic/generic_file_reader.py +7 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/generic/generic_txt.py +97 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/multifile/__init__.py +0 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/multifile/multifile_reader.py +35 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/specific/__init__.py +0 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/summary/__init__.py +0 -0
- piblin-0.0.1/src/piblin/dataio/fileio/read/summary/summary_file_reader.py +68 -0
- piblin-0.0.1/src/piblin/dataio/fileio/write/__init__.py +0 -0
- piblin-0.0.1/src/piblin/dataio/fileio/write/file_writer.py +17 -0
- piblin-0.0.1/src/piblin/dataio/metadata_converter.py +121 -0
- piblin-0.0.1/src/piblin/dataio/pandas.py +414 -0
- piblin-0.0.1/src/piblin/dataio/read_summary.py +149 -0
- piblin-0.0.1/src/piblin/transform/__init__.py +31 -0
- piblin-0.0.1/src/piblin/transform/abc/__init__.py +5 -0
- piblin-0.0.1/src/piblin/transform/abc/dataset_transform.py +335 -0
- piblin-0.0.1/src/piblin/transform/abc/dynamic_transform.py +58 -0
- piblin-0.0.1/src/piblin/transform/abc/experiment_set_transform.py +32 -0
- piblin-0.0.1/src/piblin/transform/abc/experiment_transform.py +88 -0
- piblin-0.0.1/src/piblin/transform/abc/lambda_transform/__init__.py +0 -0
- piblin-0.0.1/src/piblin/transform/abc/lambda_transform/dataset_lambda_transform.py +27 -0
- piblin-0.0.1/src/piblin/transform/abc/lambda_transform/experiment_set_lambda_transform.py +25 -0
- piblin-0.0.1/src/piblin/transform/abc/lambda_transform/lambda_transform.py +41 -0
- piblin-0.0.1/src/piblin/transform/abc/lambda_transform/measurement_lambda_transform.py +27 -0
- piblin-0.0.1/src/piblin/transform/abc/lambda_transform/measurement_set_lambda_transform.py +26 -0
- piblin-0.0.1/src/piblin/transform/abc/measurement_set_transform.py +100 -0
- piblin-0.0.1/src/piblin/transform/abc/measurement_transform.py +109 -0
- piblin-0.0.1/src/piblin/transform/abc/region_transform/__init__.py +0 -0
- piblin-0.0.1/src/piblin/transform/abc/region_transform/dataset_region_transform.py +9 -0
- piblin-0.0.1/src/piblin/transform/abc/region_transform/measurement_region_transform.py +11 -0
- piblin-0.0.1/src/piblin/transform/abc/region_transform/measurement_set_region_transform.py +11 -0
- piblin-0.0.1/src/piblin/transform/abc/region_transform/region_transform.py +162 -0
- piblin-0.0.1/src/piblin/transform/abc/transform.py +591 -0
- piblin-0.0.1/src/piblin/transform/combine/__init__.py +18 -0
- piblin-0.0.1/src/piblin/transform/modify/__init__.py +0 -0
- piblin-0.0.1/src/piblin/transform/modify/interpolate.py +654 -0
- piblin-0.0.1/src/piblin/transform/pipeline.py +191 -0
- piblin-0.0.1/src/piblin/transform/split/__init__.py +0 -0
- piblin-0.0.1/src/piblin/transform/split/filter_datasets.py +41 -0
- piblin-0.0.1/src/piblin/transform/split/filter_measurements.py +47 -0
- piblin-0.0.1/src/piblin/transform/split/split_by_independent_variable_ranges.py +36 -0
- piblin-0.0.1/src/piblin/transform/split/split_transform.py +53 -0
- piblin-0.0.1/src/piblin.egg-info/PKG-INFO +36 -0
- piblin-0.0.1/src/piblin.egg-info/SOURCES.txt +90 -0
- piblin-0.0.1/src/piblin.egg-info/dependency_links.txt +1 -0
- piblin-0.0.1/src/piblin.egg-info/requires.txt +10 -0
- piblin-0.0.1/src/piblin.egg-info/top_level.txt +1 -0
piblin-0.0.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 3M
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
piblin-0.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: piblin
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: Measurement data science functionality
|
|
5
|
+
Author: Bryce Williams, Joel Patrow, Kyle Kalstabakken, Mahsa Lotfollahi
|
|
6
|
+
Author-email: Matthew John Mills <mmills2@mmm.com>, Douglas Elmore <dlelmore@mmm.com>, Alex Bourque <abourque@mmm.com>, Alessandro Perego <aperego@mmm.com>, Maryam Pardakhti <mpardakhti@mmm.com>, Bjorn Melin <bmelin@mmm.com>, Bryan Cote <bcote@mmm.com>, Cole Stapleton <cstapleton@mmm.com>
|
|
7
|
+
License: Proprietary
|
|
8
|
+
Project-URL: Source, https://github.com/3mcloud/piblin
|
|
9
|
+
Project-URL: Issues, https://github.com/3mcloud/piblin/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/3mcloud/piblin/blob/main/CHANGELOG.md
|
|
11
|
+
Classifier: Development Status :: 1 - Planning
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Natural Language :: English
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
22
|
+
Requires-Python: <3.13,>=3.10
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
License-File: LICENSE
|
|
25
|
+
Requires-Dist: matplotlib==3.10.0
|
|
26
|
+
Requires-Dist: numpy==1.26.4
|
|
27
|
+
Requires-Dist: scipy==1.15.1
|
|
28
|
+
Requires-Dist: pandas==2.2.3
|
|
29
|
+
Provides-Extra: tests
|
|
30
|
+
Requires-Dist: pytest==8.3.4; extra == "tests"
|
|
31
|
+
Requires-Dist: pytest-mpl==0.17.0; extra == "tests"
|
|
32
|
+
Requires-Dist: pytest-cov==6.0.0; extra == "tests"
|
|
33
|
+
Requires-Dist: pytest-html==4.1.1; extra == "tests"
|
|
34
|
+
|
|
35
|
+
# piblin
|
|
36
|
+
### A Framework for Measurement Data Science
|
piblin-0.0.1/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools==75.8.0", "setuptools-git-versioning >= 2"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[tool.setuptools-git-versioning]
|
|
6
|
+
enabled = true
|
|
7
|
+
|
|
8
|
+
[project]
|
|
9
|
+
name = "piblin"
|
|
10
|
+
authors = [
|
|
11
|
+
{ name = "Matthew John Mills", email = "mmills2@mmm.com" },
|
|
12
|
+
{ name = "Douglas Elmore", email = "dlelmore@mmm.com" },
|
|
13
|
+
{ name = "Alex Bourque", email = "abourque@mmm.com" },
|
|
14
|
+
{ name = "Bryce Williams" },
|
|
15
|
+
{ name = "Joel Patrow" },
|
|
16
|
+
{ name = "Kyle Kalstabakken" },
|
|
17
|
+
{ name = "Mahsa Lotfollahi" },
|
|
18
|
+
{ name = "Alessandro Perego", email = "aperego@mmm.com" },
|
|
19
|
+
{ name = "Maryam Pardakhti", email = "mpardakhti@mmm.com" },
|
|
20
|
+
{ name = "Bjorn Melin", email = "bmelin@mmm.com" },
|
|
21
|
+
{ name = "Bryan Cote", email = "bcote@mmm.com" },
|
|
22
|
+
{ name = "Cole Stapleton", email = "cstapleton@mmm.com" },
|
|
23
|
+
]
|
|
24
|
+
description = "Measurement data science functionality"
|
|
25
|
+
readme = "README.md"
|
|
26
|
+
dynamic = ["version"]
|
|
27
|
+
requires-python = ">=3.10, <3.13"
|
|
28
|
+
|
|
29
|
+
license = { text = "Proprietary" }
|
|
30
|
+
classifiers = [
|
|
31
|
+
"Development Status :: 1 - Planning",
|
|
32
|
+
"Intended Audience :: Science/Research",
|
|
33
|
+
"Natural Language :: English",
|
|
34
|
+
"Operating System :: OS Independent",
|
|
35
|
+
"Topic :: Scientific/Engineering :: Chemistry",
|
|
36
|
+
"Topic :: Scientific/Engineering :: Physics",
|
|
37
|
+
"Topic :: Scientific/Engineering :: Information Analysis",
|
|
38
|
+
"Programming Language :: Python :: 3.10",
|
|
39
|
+
"Programming Language :: Python :: 3.11",
|
|
40
|
+
"Programming Language :: Python :: 3.12",
|
|
41
|
+
"License :: OSI Approved :: MIT License",
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
dependencies = [
|
|
45
|
+
"matplotlib ==3.10.0",
|
|
46
|
+
"numpy ==1.26.4",
|
|
47
|
+
"scipy ==1.15.1",
|
|
48
|
+
"pandas ==2.2.3",
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
[project.urls]
|
|
52
|
+
Source = "https://github.com/3mcloud/piblin"
|
|
53
|
+
Issues = "https://github.com/3mcloud/piblin/issues"
|
|
54
|
+
Changelog = "https://github.com/3mcloud/piblin/blob/main/CHANGELOG.md"
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
[project.optional-dependencies]
|
|
58
|
+
tests = [
|
|
59
|
+
"pytest==8.3.4",
|
|
60
|
+
"pytest-mpl==0.17.0",
|
|
61
|
+
"pytest-cov==6.0.0",
|
|
62
|
+
"pytest-html==4.1.1",
|
|
63
|
+
]
|
|
64
|
+
|
|
65
|
+
[tool.setuptools.packages.find]
|
|
66
|
+
where = ["src"]
|
piblin-0.0.1/setup.cfg
ADDED
piblin-0.0.1/setup.py
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""(C)orporate (R)esearch (A)nalytical (L)aboratory (D)ata (S)cience
|
|
2
|
+
|
|
3
|
+
Data science tools produced as part of the R&D Data Analytics (gALAxy)
|
|
4
|
+
project of the 3M Corporate Research Analytical Laboratory (CRAL).
|
|
5
|
+
|
|
6
|
+
This code forms the basis for a number of notebook and UI applications and
|
|
7
|
+
can be used in the IPython, Jupyter or Databricks environments for
|
|
8
|
+
interactive problem-solving. The package functionality which is intended to
|
|
9
|
+
be public is available by importing from the following subpackages of
|
|
10
|
+
cralds.
|
|
11
|
+
|
|
12
|
+
Packages
|
|
13
|
+
--------
|
|
14
|
+
|
|
15
|
+
piblin.data - Represent analytical datasets and hierarchical collections thereof.
|
|
16
|
+
piblin.dataio - Read/write hierarchically structured collections of datasets to/from files.
|
|
17
|
+
piblin.transform - Transform collections of datasets.
|
|
18
|
+
"""
|
|
19
|
+
import numpy as np
|
|
20
|
+
|
|
21
|
+
np.set_printoptions(threshold=0,
|
|
22
|
+
precision=4,
|
|
23
|
+
edgeitems=2,
|
|
24
|
+
suppress=True,
|
|
25
|
+
linewidth=10000,
|
|
26
|
+
sign="+",
|
|
27
|
+
floatmode="fixed")
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from .data_collections.measurement import Measurement
|
|
2
|
+
from .data_collections.measurement_set import MeasurementSet
|
|
3
|
+
from .data_collections.consistent_measurement_set import ConsistentMeasurementSet
|
|
4
|
+
from .data_collections.tidy_measurement_set import TidyMeasurementSet
|
|
5
|
+
from .data_collections.experiment import Experiment
|
|
6
|
+
from .data_collections.experiment_set import ExperimentSet
|
|
7
|
+
from .data_collections.tabular_measurement_set import TabularMeasurementSet
|
|
8
|
+
|
|
9
|
+
from .datasets.roi import LinearRegion, CompoundRegion
|
|
10
|
+
from .datasets.abc.dataset import Dataset
|
|
11
|
+
from .datasets.abc.unambiguous_datasets.unambiguous_dataset import UnambiguousDataset
|
|
12
|
+
from .datasets.abc.unambiguous_datasets.one_dimensional_unambiguous_dataset import OneDimensionalUnambiguousDataset
|
|
13
|
+
from .datasets.abc.split_datasets import SplitDataset
|
|
14
|
+
from .datasets.abc.split_datasets.zero_dimensional_dataset import ZeroDimensionalDataset
|
|
15
|
+
from .datasets.abc.split_datasets.one_dimensional_dataset import OneDimensionalDataset
|
|
16
|
+
from .datasets.abc.split_datasets.two_dimensional_dataset import TwoDimensionalDataset
|
|
17
|
+
from .datasets.abc.split_datasets.three_dimensional_dataset import ThreeDimensionalDataset
|
|
18
|
+
from .datasets.abc.split_datasets.one_dimensional_composite_dataset import OneDimensionalCompositeDataset
|
|
19
|
+
from .datasets.abc.split_datasets.histogram import Histogram
|
|
20
|
+
from .datasets.abc.split_datasets.distribution import Distribution
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Package: piblin.data.data_collections - Hierarchical organization of measurements (data and metadata).
|
|
3
|
+
|
|
4
|
+
Modules
|
|
5
|
+
-------
|
|
6
|
+
experiment - Classes abstracting the concept of a scientific experiment.
|
|
7
|
+
measurement - Classes abstracting the concept of a scientific measurement.
|
|
8
|
+
measurement_set - Collections of scientific measurements and experiments.
|
|
9
|
+
|
|
10
|
+
Functions
|
|
11
|
+
---------
|
|
12
|
+
dict_repr - Return eval()-able string representation of a dict.
|
|
13
|
+
dict_str - Return human-readable representation of a dict.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def dict_repr(dict_):
|
|
18
|
+
"""Return eval()-able string representation of a dict.
|
|
19
|
+
|
|
20
|
+
Parameters
|
|
21
|
+
----------
|
|
22
|
+
dict_ : dict
|
|
23
|
+
The dictionary to convert to an eval()-able string.
|
|
24
|
+
|
|
25
|
+
Notes
|
|
26
|
+
-----
|
|
27
|
+
Expects dictionary keys to be strings.
|
|
28
|
+
"""
|
|
29
|
+
output = "{"
|
|
30
|
+
for key, value in dict_.items():
|
|
31
|
+
|
|
32
|
+
key_str = "\"" + key + "\""
|
|
33
|
+
|
|
34
|
+
if isinstance(value, str):
|
|
35
|
+
value_str = "\"" + value + "\""
|
|
36
|
+
else:
|
|
37
|
+
value_str = str(value)
|
|
38
|
+
|
|
39
|
+
output += key_str + ": " + value_str + ", "
|
|
40
|
+
return output[:-2] + "}"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def dict_str(dict_, title="", whitespace=None):
|
|
44
|
+
"""Return human-readable representation of a dict.
|
|
45
|
+
|
|
46
|
+
Parameters
|
|
47
|
+
----------
|
|
48
|
+
dict_ : dict
|
|
49
|
+
The dictionary to convert to a human-readable representation.
|
|
50
|
+
title : str
|
|
51
|
+
A string to use for the table title.
|
|
52
|
+
whitespace : str, None
|
|
53
|
+
Whether to add a tab in front of each key-value pair string.
|
|
54
|
+
|
|
55
|
+
Returns
|
|
56
|
+
-------
|
|
57
|
+
output : str
|
|
58
|
+
A human-readable representation of the dict.
|
|
59
|
+
"""
|
|
60
|
+
# output = title + "\n" + "-"*len(title) + "\n"
|
|
61
|
+
output = f"{title}:\n\n"
|
|
62
|
+
for key, value in dict_.items():
|
|
63
|
+
if whitespace:
|
|
64
|
+
output += whitespace
|
|
65
|
+
output += str(key) + " = " + str(value) + "\n"
|
|
66
|
+
return output
|