Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final changes in v2.0.0 (4) #1102

Merged
merged 34 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
a8aaf9e
RTD 2.0.0 #708
detlefarend Dec 2, 2024
6f32914
Merge remote-tracking branch 'origin/main' into final_changes_v2.0.0
detlefarend Dec 2, 2024
d24fa6f
Merge remote-tracking branch 'origin/main' into final_changes_v2.0.0
detlefarend Dec 2, 2024
18cd5b8
Merge remote-tracking branch 'origin/main' into final_changes_v2.0.0
detlefarend Dec 5, 2024
e0f0ac3
Bug: OA.NormalizerZTrans loses internal normalization parameters #1111
detlefarend Dec 5, 2024
308ec54
BF: Improved logging performance #1112
detlefarend Dec 6, 2024
5b0c39e
Bug: OA.NormalizerZTrans loses internal normalization parameters #1111
detlefarend Dec 6, 2024
b8b8688
Bug: OA.NormalizerZTrans loses internal normalization parameters #1111
detlefarend Dec 9, 2024
15266b9
Bug: OA.NormalizerZTrans loses internal normalization parameters #1111
detlefarend Dec 9, 2024
4123883
Bug: OA.NormalizerZTrans loses internal normalization parameters #1111
detlefarend Dec 9, 2024
1ff2486
BF: Improved logging performance #1112
detlefarend Dec 9, 2024
caf96a1
Bug: Stream visualization causes malfunction in dark mode #1113
detlefarend Dec 10, 2024
109a61a
Bug: Visualization of Tasks/Workflows causes malfunction in dark mode…
detlefarend Dec 10, 2024
b943519
Bug: Visualization of Tasks/Workflows causes malfunction in dark mode…
detlefarend Dec 10, 2024
bd69085
BF: Plot window arrangement - storage/recovery of window size and pos…
detlefarend Dec 10, 2024
e359595
BF: Plot window arrangement - storage/recovery of window size and pos…
detlefarend Dec 10, 2024
ab5da19
BF: Plot window arrangement - storage/recovery of window size and pos…
detlefarend Dec 11, 2024
2254002
RTD 2.0.0 #708
detlefarend Dec 11, 2024
d530bf7
BF: Plot window arrangement - storage/recovery of window size and pos…
detlefarend Dec 12, 2024
128d30a
BF: Plot window arrangement - storage/recovery of window size and pos…
detlefarend Dec 13, 2024
2d2f94a
BF: Plot window arrangement - storage/recovery of window size and pos…
detlefarend Dec 16, 2024
4a20e05
BF: Plot window arrangement - storage/recovery of window size and pos…
detlefarend Dec 16, 2024
6405f40
Bug: MinMax-Normalizer plots a outlier instance #1117
detlefarend Dec 16, 2024
a0828a4
BF-OPS: Class ScenarioBase - Log of statistics at the end of a run #1121
detlefarend Dec 29, 2024
357a8ff
BF-Plot: Default plot-backend QtAgg #1119
detlefarend Dec 29, 2024
a712211
BF-Plot: Default plot-backend QtAgg #1119
detlefarend Dec 29, 2024
85e2894
BF-Plot: Default plot-backend QtAgg #1119
detlefarend Jan 3, 2025
91f664c
Dependencies Generation
detlefarend Jan 3, 2025
202d7b2
integration river in unit tests
detlefarend Jan 3, 2025
d3aa558
BF-Plot: Default plot-backend QtAgg #1119
detlefarend Jan 3, 2025
c524309
BF-Plot: Default plot-backend QtAgg #1119
detlefarend Jan 5, 2025
b447e69
Merge remote-tracking branch 'origin/main' into final_changes_v2.0.0
detlefarend Jan 5, 2025
d4267b1
RTD: updates on class diagrams
detlefarend Jan 10, 2025
53e1542
Bug: 'DataPlotting' object has no attribute '_filename_stub'. Howto B…
detlefarend Jan 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions doc/rtd/content/01_welcome/sub/deps.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dill,0.3.6
dill,0.3.9
multiprocess,0.70.17
numpy,1.24.2
torch,2.0.0
matplotlib,3.7.1
PySide6,6.8.1
matplotlib,3.10.0
scipy,1.10.1
multiprocess,0.70.14
pandas,2.1.3
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Data Management
===============

Data management in a framework is extremely important, which mostly refers to the organization, storage, and retrieval of data within the framework.
In MLPro, our team also provides such functionalities as saving data, loading data, storing data, creating a buffer, and plotting data.
MLPro also provides such functionalities as saving data, loading data, storing data, creating a buffer, and plotting data.
This involves defining a data model that describes the structure and relationships between data elements, implementing mechanisms for storing and retrieving data, and managing data consistency and integrity.
A well-designed data management system is essential for the efficient and effective processing of data within the framework.

Expand All @@ -14,7 +14,7 @@ The related data management classes can be accessed as follows:

from mlpro.bf.data import *

In general, there are two main functionalities of data management in MLPro:
In general, there are three main functionalities of data management in MLPro:

1) **Data Storing**
The second possibility is to store a bunch of data in MLPro's **DataStoring** class with three different layers, as follows:
Expand Down Expand Up @@ -53,6 +53,11 @@ In general, there are two main functionalities of data management in MLPro:
- Clearing the buffer.

For better understanding : :ref:`Howto BF-004: Buffers <Howto BF 004>`


3) **Configuration data**
A further class named **ConfigFile** enables persistent storage of program configuration data in a local JSON file.


**Cross Reference**
+ :ref:`Howto BF-003: Store and plot data <Howto BF 003>`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,19 @@ BF-DATA - Data Management
.. image:: images/MLPro-BF-Data_class_diagram.drawio.png
:scale: 50%

.. automodule:: mlpro.bf.data
.. automodule:: mlpro.bf.data.buffers
:members:
:undoc-members:
:private-members:
:show-inheritance:

.. automodule:: mlpro.bf.data.datastoring
:members:
:undoc-members:
:private-members:
:show-inheritance:

.. automodule:: mlpro.bf.data.cfg_file
:members:
:undoc-members:
:private-members:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,32 @@ BF-PLOT - Plotting and Visualization
.. image:: images/MLPro-BF-Plot_class_diagram.drawio.png
:scale: 50%

.. automodule:: mlpro.bf.plot
.. automodule:: mlpro.bf.plot.basics
:members:
:undoc-members:
:private-members:
:show-inheritance:
:show-inheritance:

.. automodule:: mlpro.bf.plot.backends.basics
:members:
:undoc-members:
:private-members:
:show-inheritance:

.. automodule:: mlpro.bf.plot.backends.qtagg
:members:
:undoc-members:
:private-members:
:show-inheritance:

.. automodule:: mlpro.bf.plot.backends.tkagg
:members:
:undoc-members:
:private-members:
:show-inheritance:

.. automodule:: mlpro.bf.plot.dataplotting
:members:
:undoc-members:
:private-members:
:show-inheritance:
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile host="Electron" modified="2023-03-29T11:39:45.362Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.7.4 Chrome/106.0.5249.199 Electron/21.3.3 Safari/537.36" etag="9lP4bgXtFIT5y517Vjbi" version="20.7.4" type="device"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">7V3rV6M8E/9rPGefD/VwK20/2nrZ9XF9vKzrOe8XTgqBZqWkQlDrX/8mEFogaUstbbWLerRMQi7zmxkmmQke6YPx20UIJqOf2IH+kaY4b0f66ZGmad2eQf8wyjSltHtKN6V4IXJSmjon3KN3yIkKp8bIgVGhIsHYJ2hSJNo4CKBNCjQQhvi1WM3FfrHXCfCgQLi3gS9SH5FDRpxqto15wXeIvBHvWtN1My0Zg6w2n0o0Ag5+zZH0syN9EGJM0k/jtwH0Gfsyxjz+mD76V0/mxeVt9Awe+v/+uv7dShs7X+eW2RxCGJAPN/2u3L5cmn2r77zEty7U75/fY36L8gL8mDPsFBBwT3CIAo9Pm0wzZkavaOyDgF71XRyQe16i02vgIy+gn206RBhSwgsMCaI4nPACgieUao+Q71yBKY7ZRCIC7Kfsqj+inb7TZoFPi1RKoMUh4SKlmYUa9+xOSlYoNYQRrXOTcUedka5ARHgdG/s+mERomAyYVRmD0ENBHxOCx1lDOA4c6PCrGdzpUEL8NJMgRnGR7w+wj8OENboDYNe1ZzVzJabdhUOXlXDunRfvdJMvWu6FwEF0DrKyihLAJYXxHr7lFIBLxAXEY0jCKa3CS/UelwCu3y3DUDjlda4uWpvTRjlN0TPbALiKerPWZx3eUZUGgUeZPutR04s9qobYn2pK+tPMYnfAp4IWAAL7DLYoL/v0Q26yc1KiEXLtiK+7Z+45+TOIr9q/wN39nW6jliZox8D6fXJHB6ckl/SD+Rwz/e+fh2DMZvnjdE4T9IeCQnK64kOXLNSUaAJsqoNXSZ1TY0654yxhJEzvdf1ESkfIcWCQSDGhKpwKOpPjCUYBSXjW7tMfOuaBctw+atMBDei1Or+mP6x6SCUwoGIMUCJrkGrRK4yIVAqXGpXVUjgtQrtK5MoikJe4AvZLgJaO2BSAHsMxDqeWg+gzqYGxGoxtbXcw9i6Ds5tW72Z023/48/5s2LfK95bWE3AMqFpGDYIVEex094ygLjokLrOsFr2rAbEaiKpi7Nmcis9NATwfJW7kiIzn3l7ZxVqB7JhixJrLoPzFkD5tqQLcugi3LoHWB0Po3+AIEYRZ+2FatwT53lDVK/pl3W2ppviQtCwUIGJZ39iMrRcQIsZOam6Vfw5OW9mCJ/PMHeiC2N8u2hUtsa5tC+62ADdwHCuxxinec8PcwL0p3J2qi66twW3IXWC6jC5qN2NlEf0BL2c3NqKw8VpIqehF1yEKN4//+4Ueut3Lt2fv8Xp8qilPb7NNhLkkeJCk+EarZKGBf1P49YrO2/Ysgei9+SgiFsGWPYqDJy4DDuV3hn9KZxt1jQBsvhdScTNkewKgCwJg4/EkhBGHvoG7Rrh7e3f0OgLcEXiBiYKneE9YJCQz9ciHQbLVmV470EdjxLb8G1nYVBb0qku87clCV7T9GDiNLOxeFswduoHSIYtmoR+7LgO3BGwTFdwkKuj5IIqyxj9hhDALz80ChO12VStlLNmK+nIBQqmOiPEGK/WLDsz2VbRyncrCtYfAn3StK7q6ybPOGspNXYPj/iN/0hFn6UZNyKFGVKtGA2uIOMhBFXeiihGHg12DbgvRblV7WwOkl63b54uL4PK/m4c/v+NO5+dE9yT5ZiyoAH04pjNNQWUXBwnqRguItaFW1R1GgaXPVnEf0fYhCL81yG6IrMQh3nGejQgtCxH41NeOSIPvpvhW3QHeHr7yEBDw/QbcTcHt7dBVloMrbuwwcCMwnvg81hvEzRO4hsWtuu9sOk0M6lseDDjW1JV2/h68jzRdU1TThdtE3NihzyVHXLKhQUEMgU0sdpgmxTuJ5yLn7eBB34GSV83c2R7kYqIWiiw3bh7Wm4Pb27snJku69KkJtxpwNwRXz1YxuwD3+/fwZTSObqPpmef9BCcPF9eg0qalF+J4IrJgrdjO7HQlh+0of35RFvPplEIwLcOUhKaNroxZ2WnJ+rklLkqONNPPBCeZZfaon5/A0pXkK09SouyUakZT88Wmx/8mTQ8LcGS1WIettJkTWkE1Jm9iE1eQ+lpOUoO3FZZbp4wYSmjpfEoDEW6uQlnFGdctcmbVTE3ZRJfOTzYXamoCaW98nKyn0Bt+Sw7aJckFuU//LB4An+3KWUjhon+pW0w/BMNokrJDJC2aVqHaDza5SYg9ljJVqdlaSUn3VEuQA5Kwwm4HcAeBw0wJwfRXHMEcz1LY1xPQououQmpN+VtPK+rQwwKlMHhASIiGMYEJL8/pb2ouR9hhz/f6ULqGr0wm46GPbGac552ep91liA3ZOBBbHrIdeeisbZXqBPSD8Mm6WMrmnFGa9UTb6hWHUqpQDzYJMOcoGMEQJexeBdIIsLmjqAwTfQqHcDEs9WpCYQqWwNta0ZQNwVpPR7j0U9eVOkEJszJ+nufH/nkUQGSp8pEpF+UqN/2fexKnBXOvy7BWHax83ZRLDKi0hHodUc7e01UTa+Y1BIxWTBYr7T8pimkqSZ5XORuM86aUXuYuSAMTlwPLlxerl0R79OrFUNIpnMAkX0thzksJK1pywl4LQ6+GPmbZfnncFuVTZABelcpn+RxV8z5o9yw5LwOIpTumiwk6j7WBgU7h3TULl2MttV1+TYemZjDloJMtXttLgOMd3rAV/Ly33nGv1zNn351Cx6qmHCuKrqjtLl0kqqaiFpuPcBzakLc4Fw2hk7Zx3DW6avbd0dfqhYDQg2R1L71SGgN23QgWbqGyBKa5Gnw3YyFzyrmJXC/mGpA2+NEkQ7m4iHu6P1K7znTEDfH482qJ8ndqia4d613DVHS1w36XXpRTk5Is72RdHZnmeLxMY2qTajE2JYhxk1m+MLPc7drQlmaWD7tto80aXJYtvirTvH4XIystqqgklcWQ6GdZuL90Jrmck2IUR1CHvyiBdbnJ2CS/XCZeNWQ7ygcsRm8aG7eGjXNdTW7jHHNots1Pa+MaI7eAlWLqUWPkFtmML2PkxDOjjZGr94jgZzRyjSe3iJXiocDGyC2yGZ/QyEnzcLIB5/dYHA9mhoxyZIQ9HAD/bE4tmYV5nSucYMWg+gMJmXJLBWKCi0IhcnNZ3ke6rbBkEpxf6c5AWm9ZKs3KjZcQ+oCgl3ylLbBeTJJJz6GfpcGK5llz8C+pFo6gq1WPoKvGIT1u5BmCgnpkx+kEzfjq+YGifC01GJ/yFLr8tSuNx1A7qFWPpG/LY5AcvSicXZ4p6QGm4G8LU7Oi2d+aosrfiZpcFg8xU9JBIls1RbsevHd5XF06YnH/lh2VS96G1WC7GbaVz6dnvlj9ZysUAcIdrOkkofliuHw9L3rloo+rxhdb9Il7iumi7y5wBNCaBd8hv39M/A9FlV9AZi5xAw5j8Sc9E9OsHKSmpPbl4LacDk00fn/tqe21/ZC10a76vu0PrCno5fy/A6YqP/8vi/rZ/wE=</diagram></mxfile>
<mxfile host="Electron" modified="2024-12-11T17:38:42.768Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.7.4 Chrome/106.0.5249.199 Electron/21.3.3 Safari/537.36" etag="qhzz2B_qugFNKqFl6_co" version="20.7.4" type="device"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">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</diagram></mxfile>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading