flowtracks 1.6.2.dev1__py3-none-any.whl → 1.6.2.dev3__py3-none-any.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.
- flowtracks/__init__.py +10 -0
- flowtracks/_version.py +3 -3
- flowtracks/eulerian.py +23 -2
- flowtracks/phasing.py +111 -0
- {flowtracks-1.6.2.dev1.dist-info → flowtracks-1.6.2.dev3.dist-info}/METADATA +1 -1
- {flowtracks-1.6.2.dev1.dist-info → flowtracks-1.6.2.dev3.dist-info}/RECORD +28 -27
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/batch_Lagrangian_to_Eulerian.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/hdf5_scene_analysis.ipynb +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/linking_trajectories.ipynb +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/marimo_dual_rig_trajectories.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/marimo_flowtracks.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/marimo_hdf5_vs_zarr_scene_analysis.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/marimo_linking_trajectories_zarr.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/marimo_phase_averaging_demo.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/marimo_phase_metrics.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/marimo_vtk_writers_preview.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/marimo_zarr_dashboard.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/repeated_interpolation.ipynb +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/run_pipeline.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/visualize_marimo.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/visualize_results.py +0 -0
- {flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/scripts/analyse_fhdf.py +0 -0
- {flowtracks-1.6.2.dev1.dist-info → flowtracks-1.6.2.dev3.dist-info}/WHEEL +0 -0
- {flowtracks-1.6.2.dev1.dist-info → flowtracks-1.6.2.dev3.dist-info}/entry_points.txt +0 -0
- {flowtracks-1.6.2.dev1.dist-info → flowtracks-1.6.2.dev3.dist-info}/licenses/LICENSE.txt +0 -0
- {flowtracks-1.6.2.dev1.dist-info → flowtracks-1.6.2.dev3.dist-info}/licenses/LICENSES/BSD-3-Clause.txt +0 -0
- {flowtracks-1.6.2.dev1.dist-info → flowtracks-1.6.2.dev3.dist-info}/licenses/LICENSES/GPL-3.0-only.txt +0 -0
- {flowtracks-1.6.2.dev1.dist-info → flowtracks-1.6.2.dev3.dist-info}/top_level.txt +0 -0
flowtracks/__init__.py
CHANGED
|
@@ -21,6 +21,12 @@ from flowtracks.eulerian import (
|
|
|
21
21
|
save_zarr,
|
|
22
22
|
)
|
|
23
23
|
from flowtracks.phase_average import fluctuations, phase_average
|
|
24
|
+
from flowtracks.phasing import (
|
|
25
|
+
assign_bins,
|
|
26
|
+
bin_of_frame,
|
|
27
|
+
phase_of_frame,
|
|
28
|
+
validate_bins,
|
|
29
|
+
)
|
|
24
30
|
from flowtracks.smoothing import savitzky_golay
|
|
25
31
|
from flowtracks.stitching import stitch_trajectories
|
|
26
32
|
from flowtracks.writers import (
|
|
@@ -41,6 +47,10 @@ __all__ = [
|
|
|
41
47
|
"finite_difference_velocity",
|
|
42
48
|
"phase_average",
|
|
43
49
|
"fluctuations",
|
|
50
|
+
"validate_bins",
|
|
51
|
+
"assign_bins",
|
|
52
|
+
"phase_of_frame",
|
|
53
|
+
"bin_of_frame",
|
|
44
54
|
"derived_fields",
|
|
45
55
|
"save_zarr",
|
|
46
56
|
"save_dataset",
|
flowtracks/_version.py
CHANGED
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.6.2.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 6, 2, '
|
|
21
|
+
__version__ = version = '1.6.2.dev3'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 6, 2, 'dev3')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g17f6da530'
|
flowtracks/eulerian.py
CHANGED
|
@@ -128,11 +128,12 @@ def _bin_counts_sums_ceil(pos, vel, ti, mins, deltas, shape):
|
|
|
128
128
|
return counts, sums
|
|
129
129
|
|
|
130
130
|
|
|
131
|
-
def eulerian_grid(scene, grid_params, first, last, cycletime,
|
|
131
|
+
def eulerian_grid(scene, grid_params, first, last, cycletime=None,
|
|
132
132
|
deltat=90, base_time=100000, min_count=50,
|
|
133
133
|
smoothing_sigma=None, *, fill_value=float("nan"),
|
|
134
134
|
qc=None, chunk_frames=None, add_valid=True, fin=None,
|
|
135
|
-
voxel_rule="half-open"
|
|
135
|
+
voxel_rule="half-open", n_frames_in_period=None,
|
|
136
|
+
n_phases=None, phase_zero_frame=None) -> xr.Dataset:
|
|
136
137
|
"""Bin Lagrangian particles onto a (x, y, z, phase) grid of mean velocities.
|
|
137
138
|
|
|
138
139
|
Same math as batch_Lagrangian_to_Eulerian.eulerian_grid, but: reads the
|
|
@@ -140,6 +141,15 @@ def eulerian_grid(scene, grid_params, first, last, cycletime,
|
|
|
140
141
|
query per frame, bins every particle at once with np.histogramdd, and
|
|
141
142
|
returns a self-describing Dataset instead of writing HDF5.
|
|
142
143
|
|
|
144
|
+
Phase-bin naming (shared with openptv-cloud/openptv-analysis — same
|
|
145
|
+
users, one vocabulary; see :mod:`flowtracks.phasing` for the full
|
|
146
|
+
definition and its rules): ``n_frames_in_period`` is ``cycletime``,
|
|
147
|
+
``n_phases`` is ``fin``, ``phase_zero_frame`` is ``base_time``. Pass
|
|
148
|
+
either style; when both are given the new-style name wins. Narrow
|
|
149
|
+
(gappy) bins — ``phase_width`` in :mod:`flowtracks.phasing` — are a
|
|
150
|
+
caller-side frame selection (see :func:`flowtracks.phasing.bin_of_frame`);
|
|
151
|
+
this gridder always tiles contiguously.
|
|
152
|
+
|
|
143
153
|
smoothing_sigma (in grid cells, scalar or per-axis (sx, sy, sz)) applies
|
|
144
154
|
Gaussian kernel smoothing to the velocity sums AND the counts before the
|
|
145
155
|
division (Shepard/kernel estimate); min_count then acts on smoothed counts.
|
|
@@ -171,6 +181,17 @@ def eulerian_grid(scene, grid_params, first, last, cycletime,
|
|
|
171
181
|
prefilter to the strict exclusive box (both bounds exclusive), so
|
|
172
182
|
the binned set matches the legacy inputs exactly.
|
|
173
183
|
"""
|
|
184
|
+
if n_frames_in_period is not None:
|
|
185
|
+
cycletime = n_frames_in_period
|
|
186
|
+
if cycletime is None:
|
|
187
|
+
raise ValueError(
|
|
188
|
+
"eulerian_grid() needs a period: pass cycletime (legacy) or "
|
|
189
|
+
"n_frames_in_period (shared vocabulary)."
|
|
190
|
+
)
|
|
191
|
+
if n_phases is not None:
|
|
192
|
+
fin = n_phases
|
|
193
|
+
if phase_zero_frame is not None:
|
|
194
|
+
base_time = phase_zero_frame
|
|
174
195
|
zaman = deltat * 2 + 1
|
|
175
196
|
fin = int(np.ceil(cycletime / zaman)) if fin is None else int(fin)
|
|
176
197
|
edges = [np.linspace(grid_params[f"min_{d}"], grid_params[f"max_{d}"],
|
flowtracks/phasing.py
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-only
|
|
2
|
+
"""One shared phase-bin definition for periodic PTV post-processing.
|
|
3
|
+
|
|
4
|
+
Every package in the OpenPTV family (flowtracks itself, openptv-cloud,
|
|
5
|
+
openptv-analysis — same users) uses these names and these rules, so a
|
|
6
|
+
``post_analysis.binning`` block means the same thing everywhere:
|
|
7
|
+
|
|
8
|
+
Canonical names (all self-explainable):
|
|
9
|
+
|
|
10
|
+
n_frames_in_period — period length, in frames
|
|
11
|
+
n_phases — number of phase bins per cycle (the output count)
|
|
12
|
+
phase_width — bin width in cycle units [0, 1); default 1/n_phases
|
|
13
|
+
phase_zero_frame — frame anchoring phase 0
|
|
14
|
+
|
|
15
|
+
Rules enforced by :func:`validate_bins` (fail loudly, never ship NaNs):
|
|
16
|
+
|
|
17
|
+
1 <= n_phases <= n_frames_in_period (more bins than frames would stay
|
|
18
|
+
empty by construction — with whole-frame counting there are only
|
|
19
|
+
n_frames_in_period distinct phases per cycle);
|
|
20
|
+
0 < phase_width <= 1/n_phases (bins never overlap in time; narrower bins
|
|
21
|
+
leave gaps — some frames go unused, which is intentional).
|
|
22
|
+
|
|
23
|
+
Bins are uniform and start-anchored: bin ``i`` covers
|
|
24
|
+
``[i/n_phases, i/n_phases + phase_width)``. :func:`assign_bins` returns -1
|
|
25
|
+
for samples falling in gaps.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
from __future__ import annotations
|
|
29
|
+
|
|
30
|
+
import numpy as np
|
|
31
|
+
|
|
32
|
+
__all__ = [
|
|
33
|
+
"validate_bins",
|
|
34
|
+
"assign_bins",
|
|
35
|
+
"phase_of_frame",
|
|
36
|
+
"bin_of_frame",
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def validate_bins(n_frames_in_period, n_phases, phase_width=None) -> float:
|
|
41
|
+
"""Check one bin definition; return the effective width (cycle units).
|
|
42
|
+
|
|
43
|
+
Raises SystemExit on violation — a bad binning must fail loudly before
|
|
44
|
+
any averaging, never ship silent NaN phases.
|
|
45
|
+
"""
|
|
46
|
+
try:
|
|
47
|
+
period = int(n_frames_in_period)
|
|
48
|
+
except (TypeError, ValueError):
|
|
49
|
+
raise SystemExit(
|
|
50
|
+
"[phasing] n_frames_in_period must be a positive integer "
|
|
51
|
+
f"(got {n_frames_in_period!r})."
|
|
52
|
+
)
|
|
53
|
+
try:
|
|
54
|
+
n = int(n_phases)
|
|
55
|
+
except (TypeError, ValueError):
|
|
56
|
+
raise SystemExit(
|
|
57
|
+
f"[phasing] n_phases must be a positive integer (got {n_phases!r})."
|
|
58
|
+
)
|
|
59
|
+
if period < 1:
|
|
60
|
+
raise SystemExit("[phasing] n_frames_in_period must be >= 1.")
|
|
61
|
+
if n < 1:
|
|
62
|
+
raise SystemExit("[phasing] n_phases must be >= 1.")
|
|
63
|
+
if n > period:
|
|
64
|
+
raise SystemExit(
|
|
65
|
+
f"[phasing] n_phases ({n}) cannot exceed n_frames_in_period "
|
|
66
|
+
f"({period}): with whole-frame counting there are only {period} "
|
|
67
|
+
"distinct phases per cycle, so the extra bins would stay empty. "
|
|
68
|
+
f"Use n_phases <= {period}."
|
|
69
|
+
)
|
|
70
|
+
spacing = 1.0 / n
|
|
71
|
+
width = float(phase_width) if phase_width is not None else spacing
|
|
72
|
+
if not width > 0:
|
|
73
|
+
raise SystemExit("[phasing] phase_width must be positive.")
|
|
74
|
+
if width > spacing + 1e-12:
|
|
75
|
+
raise SystemExit(
|
|
76
|
+
f"[phasing] phase_width ({width:.4g}) exceeds the phase spacing "
|
|
77
|
+
f"(1/n_phases = {spacing:.4g}): bins would overlap in time. "
|
|
78
|
+
"Maximum is 1/n_phases (contiguous bins, no gaps)."
|
|
79
|
+
)
|
|
80
|
+
return width
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def phase_of_frame(frame, n_frames_in_period, phase_zero_frame=0) -> float:
|
|
84
|
+
"""Phase in [0, 1) of one frame number."""
|
|
85
|
+
period = int(n_frames_in_period)
|
|
86
|
+
return ((int(frame) - int(phase_zero_frame)) % period) / period
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def bin_of_frame(frame, n_phases, n_frames_in_period,
|
|
90
|
+
phase_width=None, phase_zero_frame=0) -> int:
|
|
91
|
+
"""Bin index of one frame number, or -1 when it falls in a gap."""
|
|
92
|
+
n = int(n_phases)
|
|
93
|
+
width = float(phase_width) if phase_width is not None else 1.0 / n
|
|
94
|
+
phase = phase_of_frame(frame, n_frames_in_period, phase_zero_frame)
|
|
95
|
+
idx = min(int(phase * n), n - 1)
|
|
96
|
+
return idx if (phase * n - idx) < width * n - 1e-12 else -1
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def assign_bins(phase, n_phases, phase_width=None):
|
|
100
|
+
"""Bin index per sample phase, or -1 for samples in gaps.
|
|
101
|
+
|
|
102
|
+
phase: array-like floats in [0, 1). Default width (None) = 1/n_phases,
|
|
103
|
+
i.e. contiguous tiling with no gaps.
|
|
104
|
+
"""
|
|
105
|
+
phase = np.asarray(phase, dtype=float)
|
|
106
|
+
n = int(n_phases)
|
|
107
|
+
width = float(phase_width) if phase_width is not None else 1.0 / n
|
|
108
|
+
idx = np.minimum((phase * n).astype(int), n - 1)
|
|
109
|
+
intra = phase * n - idx # position inside the bin, 0..1
|
|
110
|
+
keep_fraction = width * n # how much of each bin is covered
|
|
111
|
+
return np.where(intra < keep_fraction - 1e-12, idx, -1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flowtracks
|
|
3
|
-
Version: 1.6.2.
|
|
3
|
+
Version: 1.6.2.dev3
|
|
4
4
|
Summary: Library for handling 3D PTV trajectory databases and Lagrangian/Eulerian turbulence post-processing.
|
|
5
5
|
Author-email: Yosef Meller <yosefm@gmail.com>
|
|
6
6
|
License-Expression: GPL-3.0-only AND BSD-3-Clause
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
flowtracks/__init__.py,sha256=
|
|
2
|
-
flowtracks/_version.py,sha256=
|
|
1
|
+
flowtracks/__init__.py,sha256=iCexskmRtpNJ0fNZWRFkQAqrku7csbKy5NtL2YQNYeo,1532
|
|
2
|
+
flowtracks/_version.py,sha256=ioGLROz7BQPlJdI-WwRRXLPAhGzUpsK8HZGSNQ17PCs,541
|
|
3
3
|
flowtracks/an_scene.py,sha256=QV_gtzp-5h1CqAW1Y6ieGco9BxXQDE4f_7-fcy3fluI,7361
|
|
4
4
|
flowtracks/analysis.py,sha256=nob5-pKxjPzB34_oQsxmxYALz4Q_s1BTpC5_VgXX3ss,6320
|
|
5
5
|
flowtracks/combine.py,sha256=-UQtbTH4vjQS88_92h5UZlS60OfQofTWEV6SL1prXgI,4455
|
|
6
|
-
flowtracks/eulerian.py,sha256=
|
|
6
|
+
flowtracks/eulerian.py,sha256=b6otBh_fjwfMPGKsitBMmM-zhcp8qq7SiWyx-cnGaGU,41495
|
|
7
7
|
flowtracks/flux.py,sha256=w4K_jjDWTBIOj4BkoeNoKjIRcvg_6stCqNF8iivxF-A,15137
|
|
8
8
|
flowtracks/format_docstrings.py,sha256=iJVJmtTUYEDEcmF5XSRZ08zpvlVc9lU66CZeqSpEKic,1987
|
|
9
9
|
flowtracks/future_idea_xarray_dask_zarr.py,sha256=4ZS6QuZ2s_sUaiCW0XBo74GrP5fw_clVyhWNjT5gbds,6101
|
|
@@ -14,6 +14,7 @@ flowtracks/nhist.py,sha256=3xdrfSTSpTojXJcyhwBgagHBmKrm0U_AEsP3BjP9H1o,4089
|
|
|
14
14
|
flowtracks/pairs.py,sha256=ehYDDTmjeRuzkSAMpdlwnwwAZOPNLKGF_e5HmcKw-2g,4034
|
|
15
15
|
flowtracks/particle.py,sha256=sVng1X8Xp3V9_wgJK2EGsDEx1OFQjd3L63Fzn--MWkM,671
|
|
16
16
|
flowtracks/phase_average.py,sha256=jjtrHYg0ukGRnJtRawJ6sWhdyrlV_16qBLlfNVxEQHw,3035
|
|
17
|
+
flowtracks/phasing.py,sha256=us7WfMYrx6dCCPNwucvN34G_0A7EKS9ieH1TrnpwM0I,4320
|
|
17
18
|
flowtracks/pipeline.py,sha256=0wOeeFqQGN_Lhgq-QFeQNg0oEKtJSGDhhZdv81M1PDg,5167
|
|
18
19
|
flowtracks/provenance.py,sha256=8L2BXmLdBcZRncUkr8oJbeU5JKdebj1Cgxrbzdy5o7A,2115
|
|
19
20
|
flowtracks/repair.py,sha256=rxaE1hcxQjNx19tLJOhL619lSfkB7Kfh6kXpJ_fSMfg,19122
|
|
@@ -26,27 +27,27 @@ flowtracks/vortex.py,sha256=4lG3QkvvnWhAHy4tl1pJrBGFLdrlP4pxNdhCZI1VZ4Q,2529
|
|
|
26
27
|
flowtracks/wall_shear.py,sha256=k9Q5FEchIO9J_onXPOw4PNJQfmsrSyVVvX4RdW-rQlE,6788
|
|
27
28
|
flowtracks/writers.py,sha256=QzZ7gKqRGNti6caPHcwCr_4VUCjzzDxMA2CBS5-pq84,8391
|
|
28
29
|
flowtracks/zarr_scene.py,sha256=PKCtiTT1t0Hj74Q572ra5DM3uM8lQK1A6DzzfUxvIzI,10468
|
|
29
|
-
flowtracks-1.6.2.
|
|
30
|
-
flowtracks-1.6.2.
|
|
31
|
-
flowtracks-1.6.2.
|
|
32
|
-
flowtracks-1.6.2.
|
|
33
|
-
flowtracks-1.6.2.
|
|
34
|
-
flowtracks-1.6.2.
|
|
35
|
-
flowtracks-1.6.2.
|
|
36
|
-
flowtracks-1.6.2.
|
|
37
|
-
flowtracks-1.6.2.
|
|
38
|
-
flowtracks-1.6.2.
|
|
39
|
-
flowtracks-1.6.2.
|
|
40
|
-
flowtracks-1.6.2.
|
|
41
|
-
flowtracks-1.6.2.
|
|
42
|
-
flowtracks-1.6.2.
|
|
43
|
-
flowtracks-1.6.2.
|
|
44
|
-
flowtracks-1.6.2.
|
|
45
|
-
flowtracks-1.6.2.
|
|
46
|
-
flowtracks-1.6.2.
|
|
47
|
-
flowtracks-1.6.2.
|
|
48
|
-
flowtracks-1.6.2.
|
|
49
|
-
flowtracks-1.6.2.
|
|
50
|
-
flowtracks-1.6.2.
|
|
51
|
-
flowtracks-1.6.2.
|
|
52
|
-
flowtracks-1.6.2.
|
|
30
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/batch_Lagrangian_to_Eulerian.py,sha256=e7mQFqyqvCeAHRKiN1IaxdNJi0e2FU84c7QNrx0L-m0,2296
|
|
31
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/hdf5_scene_analysis.ipynb,sha256=jn0Z_ZVL1-iXaiKXwyAeb74NbXsBpnocCxCSDh814eU,243097
|
|
32
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/linking_trajectories.ipynb,sha256=udz0GLDiPv68BYySg4yO1HWzaB9Sdy3YA3IhnIHDeII,8820
|
|
33
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/marimo_dual_rig_trajectories.py,sha256=dzeK0C-knwq1bPOwo0p1RhWrb0RPp-T31rBaGEptXcc,6737
|
|
34
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/marimo_flowtracks.py,sha256=7FIJNwBx9aBRmaM5ofmYTXSWEjE0wZqDfs8J47Tmw6U,9440
|
|
35
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/marimo_hdf5_vs_zarr_scene_analysis.py,sha256=bjXlMsLJTxJ0JkvGcVZbuDOFYZU4OvdabtDUgqb15So,4536
|
|
36
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/marimo_linking_trajectories_zarr.py,sha256=Ny_WUbiZWo0aKw-u2KGFWrhMv-8BvNgBy0UHIqCobYg,8210
|
|
37
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/marimo_phase_averaging_demo.py,sha256=vg6j2ayKGl-5uj08bdzzb6pujzJJQ_5bUsG7UuPP7dM,9270
|
|
38
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/marimo_phase_metrics.py,sha256=kBc2e_b-orDrm3AnuUXCcxsvmfQWyCtE826pFeolMGE,9367
|
|
39
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/marimo_vtk_writers_preview.py,sha256=Otrhhp-QFf6F94EOs6rWu5xOCpbS16EfWy_iMFp7e_I,14611
|
|
40
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/marimo_zarr_dashboard.py,sha256=jVIum6hdEelH4ef7vRgsfLhrbmMsuErsJBzxrnEImnw,9268
|
|
41
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/repeated_interpolation.ipynb,sha256=t9SfoIWRu5XP0SrphWbQy508uzyEibVz61FGjl51fjA,8861
|
|
42
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/run_pipeline.py,sha256=5fGE2tIP6XjFZ1sEYmqBujuLaXFfRL-rNnbr2p2CDfM,7205
|
|
43
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/visualize_marimo.py,sha256=jWrg5IWjY-bmSQwQjaO5qTr0t_G48CsqJYpevdQrxeY,13026
|
|
44
|
+
flowtracks-1.6.2.dev3.data/data/flowtracks-examples/visualize_results.py,sha256=SbPg3EoDcuIyo0rUz3E-AnT4sLWDVJFhgC6xVcracW4,7583
|
|
45
|
+
flowtracks-1.6.2.dev3.data/scripts/analyse_fhdf.py,sha256=QH08NdImGukTEGuZEKFxjStcSelXBv-8A-22G6KtXqM,1315
|
|
46
|
+
flowtracks-1.6.2.dev3.dist-info/licenses/LICENSE.txt,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
|
|
47
|
+
flowtracks-1.6.2.dev3.dist-info/licenses/LICENSES/BSD-3-Clause.txt,sha256=XiJR9O5snDB6sAz0bcncOU6msceZgjPRxejWEQGg40Q,1505
|
|
48
|
+
flowtracks-1.6.2.dev3.dist-info/licenses/LICENSES/GPL-3.0-only.txt,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
|
|
49
|
+
flowtracks-1.6.2.dev3.dist-info/METADATA,sha256=kKrzqrX4vP203dJvGLDCw-M09MaprT8BviNIdyEdb2g,4773
|
|
50
|
+
flowtracks-1.6.2.dev3.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
51
|
+
flowtracks-1.6.2.dev3.dist-info/entry_points.txt,sha256=U6028E7yQZQiZoXWMl7w4xgZUPwPxAGiAuuMB__c-yQ,60
|
|
52
|
+
flowtracks-1.6.2.dev3.dist-info/top_level.txt,sha256=cR54RNb9y2Wfr_BfuOezmNJOMB4GfIHh1-luXTREnQA,11
|
|
53
|
+
flowtracks-1.6.2.dev3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flowtracks-1.6.2.dev1.data → flowtracks-1.6.2.dev3.data}/data/flowtracks-examples/run_pipeline.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|