Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
7948903
Change toolbar active state check to use mode name
chmzs Feb 8, 2026
ce37095
Add UTF-8 encoding to README file read
chmzs Feb 8, 2026
90a1c7d
Update binary.py
chmzs Feb 8, 2026
d4c93b0
Hotfix for compatibility with the latest version of pandas and pillow2
chmzs Feb 8, 2026
39ac242
Fix repository URL in installation instructions
chmzs Feb 8, 2026
785d582
更新pip安装方式
chmzs Feb 8, 2026
e7fd835
Update README.rst
chmzs Mar 12, 2026
8819e7a
fix: support headless sample editors
chmzs Mar 15, 2026
e1766c9
fix: restore netcdf project saves
chmzs Mar 15, 2026
3bda36f
fix: restore hoya tutorial attrs step
chmzs Mar 15, 2026
43c2a20
fix: handle multi-edge y navigation
chmzs Mar 15, 2026
4d1a90b
fix: reduce noisy digitizer warnings
chmzs Mar 15, 2026
148985b
fix: avoid noisy action and division warnings
chmzs Mar 15, 2026
32ff528
feat: prototype consensus samples for stacked areas
chmzs Mar 15, 2026
a3504a5
chore: ignore local worktrees
chmzs Mar 15, 2026
7b8ce73
feat: add switchable stacked sample finding
chmzs Mar 15, 2026
a7e1716
chore: prep pandas 3 index compatibility
chmzs Mar 15, 2026
9996a3c
fix: harden headless plotting and label selection
chmzs Mar 16, 2026
8bd7ae1
fix: validate pandas 2.3 runtime compatibility
chmzs Mar 16, 2026
2230419
fix: support pandas 3 runtime
chmzs Mar 16, 2026
b87dafa
fix: support matplotlib 3.10 qt toolbars
chmzs Mar 16, 2026
0d16323
fix: use integer export dialog sizes
chmzs Mar 16, 2026
167ada0
fix: support pandas 3 excel exports
chmzs Mar 16, 2026
f7cfc40
feat: overlay digitized results on source image
chmzs Mar 16, 2026
5c443f8
fix: show result review dialog and export plotted data
chmzs Mar 16, 2026
7103a7b
fix: apply axis scaling in result review
chmzs Mar 16, 2026
2cc2a10
fix: reduce startup warnings
chmzs Mar 16, 2026
299fb94
release: prepare 0.2
chmzs Mar 16, 2026
d0f9156
fix: reduce hotfix deprecation noise
chmzs Mar 17, 2026
f193fb3
chore: clean up release housekeeping
chmzs Mar 17, 2026
920016a
release: prepare 0.2.1
chmzs Mar 17, 2026
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
3,598 changes: 3,598 additions & 0 deletions .compat/pandas-2.3.3-xarray-2024.7-scipy-1.13-mpl-3.8/pixi.lock

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions .compat/pandas-2.3.3-xarray-2024.7-scipy-1.13-mpl-3.8/pixi.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[workspace]
authors = ["chmzs <chmzs@outlook.com>"]
channels = ["conda-forge"]
name = "straditize_pandas_233_modern_stack"
platforms = ["win-64"]
version = "0.1.0"

[pypi-options]
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
extra-index-urls = ["https://pypi.org/simple"]

[tasks]

[dependencies]
python = "3.9.*"
netcdf4 = ">=1.6.1,<2"
pyqt = ">=5.15.7,<6"
pyqtwebengine = ">=5.15.7,<6"
matplotlib = "3.8.*"
pip = ">=24.0,<27"
pandas = "2.3.*"
scipy = "1.13.*"
scikit-image = "0.19.*"
xarray = "2024.7.*"
openpyxl = ">=3.1,<4"
pytest = ">=8.4.1,<9"
psutil = ">=7.0.0,<8"
psyplot = ">=1.5.1,<2"
psyplot-gui = ">=1.5.0,<2"
psy-strat = ">=0.1.1,<0.2"
docrep = ">=0.3.2,<0.4"
funcargparse = ">=0.2.5,<0.3"

[pypi-dependencies]
straditize = { path = "d:\\users\\chmzs\\Documents\\Pixi_env\\straditize\\straditize\\.worktrees\\pandas-3x-prep", editable = true }
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,7 @@ straditize-conda-*.exe

# paper.pdf
paper/paper.pdf

# local git worktrees
.worktrees/
.venvs/
121 changes: 0 additions & 121 deletions .travis.yml

This file was deleted.

56 changes: 56 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,59 @@
v0.2.1
======

This hotfix release keeps the refreshed ``0.2`` runtime stack but trims
release housekeeping that was no longer maintained.

Changed
-------
* README and docs installation guidance now describe the maintained
source-install workflow more clearly and avoid contradictory legacy paths.
* Release-facing badges and references no longer point to retired Travis and
AppVeyor infrastructure.

Removed
-------
* Obsolete Travis CI and AppVeyor configuration files from the active release
branch.
* Local virtual-environment clutter is now explicitly ignored in development
checkouts.

v0.2
====

This release refreshes straditize for modern Python and scientific Python
stacks while preserving the original stratigraphic digitization workflow.

Added
-----
* Result review plots can now overlay the digitized output directly on top of
the original image for faster visual QA.
* The result review dialog now includes explicit ``Export data`` and
``Close`` actions.
* Stacked-area sample finding now defaults to consensus interpolation instead
of exposing an unfinished GUI mode switch.

Changed
-------
* The tested runtime stack has been updated to Python 3.10-3.14 with modern
pandas, matplotlib, scipy, xarray, psyplot and PyQt5 releases.
* Installation and testing docs now recommend isolated environments and
``pip install -e .`` / ``pytest`` workflows instead of deprecated
``setup.py install`` and ``setup.py test`` commands.
* Plot-results review now opens as a dedicated comparison window and applies
configured axis scaling in the exported/reviewed data.

Fixed
-----
* Restored compatibility with pandas 2.3 and 3.0, including Excel export,
project save/load, nearest-index lookups and modern DataFrame APIs.
* Fixed modern Matplotlib / psyplot-gui toolbar integration and Qt resize
regressions.
* Reduced startup noise from deprecated docstring helpers and late OpenGL
configuration warnings.
* Hardened headless Qt test paths, stacked-area label handling and several
export/sample-editing edge cases uncovered during regression testing.

v0.1.3
======
Patch that forces the diagram limits to be integers.
Expand Down
80 changes: 48 additions & 32 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
Digitizing stratigraphic diagrams
=================================

.. image:: http://unmaintained.tech/badge.svg
:target: http://unmaintained.tech/
:alt: No Maintenance Intended

.. start-badges

.. list-table::
Expand All @@ -14,37 +10,19 @@ Digitizing stratigraphic diagrams

* - docs
- |docs|
* - tests
- |travis| |appveyor| |codecov|
* - package
- |version| |conda| |joss| |github|
- |version| |joss| |github|
* - implementations
- |supported-versions| |supported-implementations|

.. |docs| image:: http://readthedocs.org/projects/straditize/badge/?version=latest
:alt: Documentation Status
:target: http://straditize.readthedocs.io/en/latest/?badge=latest

.. |travis| image:: https://travis-ci.org/Chilipp/straditize.svg?branch=master
:alt: Travis
:target: https://travis-ci.org/Chilipp/straditize

.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/c1c8pqvh8h8rolxw?svg=true
:alt: AppVeyor
:target: https://ci.appveyor.com/project/Chilipp/straditize/branch/master

.. |codecov| image:: https://codecov.io/gh/Chilipp/straditize/branch/master/graph/badge.svg
:alt: Coverage
:target: https://codecov.io/gh/Chilipp/straditize

.. |version| image:: https://img.shields.io/pypi/v/straditize.svg?style=flat
:alt: PyPI Package latest release
:target: https://pypi.python.org/pypi/straditize

.. |conda| image:: https://anaconda.org/conda-forge/straditize/badges/version.svg
:alt: conda
:target: https://anaconda.org/conda-forge/straditize

.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/straditize.svg?style=flat
:alt: Supported versions
:target: https://pypi.python.org/pypi/straditize
Expand All @@ -63,7 +41,9 @@ Digitizing stratigraphic diagrams

.. end-badges

**This module is not maintained!!!**
This refreshed ``0.2`` release focuses on reliable digitization on modern
Python, pandas and matplotlib stacks while preserving the original
stratigraphic workflow.

STRADITIZE (Stratigraphic Diagram Digitizer) is an open-source program that
allows stratigraphic figures to be digitized in a single semi-automated
Expand All @@ -72,7 +52,7 @@ the same vertical axis, whether this is a sediment core or any similar
depth/time series.

Usually, in an age of digital data analysis, gaining access to data from the
pre-digital eraor any data that is only available as a figure on a page
pre-digital era, or any data that is only available as a figure on a page,
remains a problem and an under-utilized scientific resource.

This program tackles this problem by providing a python package to digitize
Expand All @@ -88,27 +68,63 @@ variables, the automatic and semi-automatic recognition of picture artifacts,
as well an automatic measurement finder to exactly reproduce the data that has
been used to create the diagram.

Highlights in 0.2
-----------------

* Modernized runtime compatibility for Python 3.10-3.14, pandas 2.3-3.0 and
current matplotlib / psyplot-gui stacks.
* Improved result review by overlaying digitized output on the source image
with exportable comparison data.
* Better stacked-area sample inference via consensus interpolation.
* Restored modern Excel / NetCDF export paths and several headless Qt fixes.

Installation
------------
We highly recommend to use anaconda_ and install straditize into its own
environment::

conda create -n straditize -c conda-forge straditize
conda activate straditize
We recommend installing straditize into its own isolated environment from a
source checkout so the tested dependency stack is explicit.

or install it from the source files via::
Recommended source install with ``pixi``::

git clone https://github.com/Chilipp/straditize.git
cd straditize
pip install . # or python setup.py install, but pip is recommended
pixi init
pixi add python=3.12 "numpy>=1.26" "pandas>=2.3" "matplotlib>=3.8" "scipy>=1.13" "xarray>=2024.7" "psyplot=1.5.1" "psyplot-gui=1.5.0" "pyqt=5.15" pyqtwebengine netcdf4 openpyxl scikit-image pillow
pixi run pip install -e .
pixi run straditize

Alternative source install with ``mamba``/``conda``::

git clone https://github.com/Chilipp/straditize.git
cd straditize
mamba create -n straditize python=3.12 "numpy>=1.26" "pandas>=2.3" "matplotlib>=3.8" "scipy>=1.13" "xarray>=2024.7" "psyplot=1.5.1" "psyplot-gui=1.5.0" "pyqt=5.15" pyqtwebengine netcdf4 openpyxl scikit-image pillow pip
mamba activate straditize
pip install -e .

It can then be started from the command line via::

straditize

Validated dependency stack
--------------------------

The ``0.2`` update has been verified with:

* Python 3.10 to 3.14
* NumPy >= 1.26
* pandas 2.3 to 3.0
* matplotlib 3.8 to 3.10
* SciPy >= 1.13
* xarray >= 2024.7
* psyplot 1.5.1
* psyplot-gui 1.5.0
* PyQt5 5.15

Older environments may still work, but the configurations above are the ones
that were exercised during this release refresh.

A more detailed description is provided in the docs_.

.. _anaconda: https://conda.io/en/latest/miniconda.html
.. _docs: https://straditize.readthedocs.io/en/latest/installing.html

License
Expand Down
Loading