This release drops support for pygeos
and Python 3.8 🐍 following
upstream packages. This has resulting in code refactoring and fixes. No
new features.
- analysis: Topological plotting fixes
- cli:
- Fix allow_fix option for
network tracevalidate
- Fix allow_fix option for
- tval:
- Improve stacked (
STACKED TRACES
) detection - Handle empty trace geodataframe
- Handle split overlap error
- Handle flaky
shapely
overlap detection
- Improve stacked (
- Force return types for some flaky functions (convert to
float
) - Remove all
pygeos
references, i.e., stop using it as it is merged intoshapely
- analysis: Allow creating contour grids without determination of branches and nodes i.e. topology (854d1e03)
- analysis: Disable parallel processing on Windows due to instability (614070fd)
-
A basic input geometry check is done before starting
tracevalidate
andnetwork
command-line invocations as suggested in #36. -
joblib
cache settings can be set from environment variables.
-
(branches_and_nodes): Fixed
angle_to_point
by setting distance and similarity checks to more reasonable accuracy. -
(general): Now crs is added before merging geodataframes in
dissolve_multi_part_traces
-
(length_distribution): Handle empty arrays in in
powerlaw.Fit
invocations by returningNone
instead of aFit
instance. -
(analysis): Length plot ticks are set explicitly in
setup_ax_for_ld
to avoid differences between Python package versions (#25). -
Z-coordinates are now handled across
fractopo
i.e. they do not raise errors. However, they are not guaranteed to be kept in results such as validated traces. Reported in #21. -
(analysis): Removed function signatures with mutable default arguments.
Full set of changes:
v0.5.2...v0.5.3
- Add
plain
keyword argument to output less visualized rose and length plots.
-
Deprecated
CachedNetwork
. -
Fixed typos in code.
-
Restructured continous integration and build structure.
- E.g. optimized auxiliary task runs on GitHub Actions and added a binary cache for runs.
- Added
./paper
directory with a manuscript describingfractopo
.
Full set of changes:
v0.5.1...v0.5.2
-
(analysis): Fixed XYI and branch ternary plot sample count to only report the valid node and branch counts.
-
(analysis): Fixed the cut-off vertical line to correspond to the actual cut-off rather than the lowest remaining length.
-
(general): Allow MultiLineStrings in
determine_valid_intersection_points
. -
(analysis): Made sure the order of lengths used in plotting the fitted y values is correct in multi-scale length plots.
Full set of changes:
v0.5.0...v0.5.1
-
Implemented caching and parallel execution of expensive functions in
Network
analysis. This should speed up (repeated) runs on the same datasets. This implementation is based onjoblib
which provided the functionality without issue. -
(analysis): Implemented plotting length data with the Probability Density Function (PDF) on the y-axis instead of Complementary Cumulative Number (CCM)
- (analysis): Reported
CachedNetwork
deprecation
Full set of changes:
v0.4.1...v0.5.0
- (cli): Save additional json data to output directory
when running
fractopo network
for possible post-processing needs.
-
(network): General fixes to
fractopo network
command-line entrypoint. -
Sort keys in any json output.
-
(network): Allow
MultiLineString
geometries when possible. Topologically non-valid data should be analyzeable with the best effort possible. -
(branches_and_nodes): Fixes small logging bug.
Full set of changes:
v0.4.0...v0.4.1
-
(analysis.network): Added method (
export_network_analysis
) for exporting a selected set ofNetwork
analysis results. -
(analysis): Added parameters for representing the real counts of traces and branches.
-
(general): Added
azimuth_to_unit_vector
function. -
(analysis): Implemented rose plot functionality for non-axial data.
-
(analysis.multi_network): Added a
MultiNetwork
description function (basic_network_descriptions_df
). -
(analysis.multi_network): Implemented a rough first draft of a multi-scale length distribution fit optimizer using
scipy
.
-
(analysis): handle empty dataframe
-
update single dist plot
-
(analysis): change zorder
-
(analysis): handle empty array
-
(analysis): finalize multi-scale shadows
-
(analysis): show truncated length data
-
(analysis): add shadows to ternary plot points
-
(general): use latex format for units
-
(analysis): extend rose plot
-
(analysis): return polyfits from set-wise dists
-
(analysis): improve length distributions plots
-
(analysis): improved length distribution plots
-
(analysis): specify if lengths are normed
-
(analysis): pass using_branches to LineData
-
(analysis): fix basic_network_descriptions_df
-
(analysis): fix rename
-
(analysis): report min and max lengths
-
(analysis): handle extra args
-
(analysis): finalize implement of optimization
Full set of changes:
v0.3.0...v0.4.0
-
(analysis.multi_network): Added multi-scale azimuth set length distribution plotting.
-
(analysis.network): Implemented azimuth set length distribution plotting.
-
(analysis): Implemented a naive implementation of
Network
caching withCachedNetwork
class. Errors will be raised if caching fails. User is recommended to fallback toNetwork
in that case.
- (cli): Validation column in validated trace dataset
is now set as a
tuple
instead of aslist
to avoid conflicts with string representations of the data in e.g.GeoJSON
.
Full set of changes:
v0.2.6...v0.3.0
- (analysis.multi_network): Enable plotting multiple networks into the same ternary XYI or branch type plot.
- (analysis.network): Add missing property decorator to
branch_lengths_powerlaw_fit_description
.
Full set of changes:
v0.2.5...v0.2.6
Full set of changes:
v0.2.4...v0.2.5
- (random_sampling): allow not determining topo
-
(tval): handle TypeError from split
-
(line_data): refrain from using line_gdf
-
(noxfile): setup sphinx-autobuild session
Full set of changes:
v0.2.3...v0.2.4
-
(parameters): fix pie plot function
-
refactor deprecated shapely features
-
(general): check type
-
(random_sampling): get_ methods are deprecated
-
(branches_and_nodes): set crs for outputs
Full set of changes:
v0.2.2...v0.2.3
-
(multi_network): add multi-scale length fit
-
(analysis): implement multiple fitters
-
(cli): finalize nialog implement
-
change name to non-conflicting key
-
(cli): setup logging with nialog
-
(tval): fix trace validation slowdown logging
-
(general): use static minimum line length
-
(analysis): remove usage of cached_property
-
(tval): catch TypeError from shapely split
Full set of changes:
v0.2.1...v0.2.2
- (cli): fix fractopo network entrypoint
Full set of changes:
v0.2.0...v0.2.1
-
(analysis): implement multiscale fit
-
implement network-cli
-
(analysis): handle mapped radii values
-
(cli): finish network-cli implement for now
-
deprecate safer_unary_union
-
fix truncate and circular input logic
Full set of changes:
v0.1.4...v0.2.0
Full set of changes:
v0.1.3...v0.1.4
- add network cli entrypoint
-
handle multipolygon geometries in efficient_clip
-
ignore geos incompatibility error
Full set of changes:
v0.1.2...v0.1.3
Full set of changes:
v0.1.1...v0.1.2
Full set of changes:
v0.1.0...v0.1.1
-
add heatmap plotting and refactor xyi plotting
-
implement additional random sampling functionality
-
(analysis): implement multinetwork class and parallel subsampling
-
all keys are np.nan by default in numerical network description
-
add plot_contour to network
-
minor fixes to mypy found issues
-
better parameter plotting
-
handle nan inputs in vector funcs
-
handle non-dict return
-
add verbose=False flag to powerlaw.Fit
-
specify is_filtered
-
add cli entrypoint tracevalidate
-
mauldon determination now only for circular
-
set random seed for all processes
-
specify circular target area and truncate
-
return description not full network
-
default value for no occurrences is 0, not np.nan
-
correct name for network
-
fix imports and update version
-
minor docs, style and typing fixes
-
same default snap threshold in Network as in validation
-
fix numerous pylint pointed errors
-
comment out general func for now
-
minor performance improvement and fixes
-
filter features with spatial index before gpd.clip
-
remove duplicate line
-
fix contour gridding and handle mauldon instability
-
determine branches and nodes for each cell
-
handle empty node case
-
speed up clipping with pygeos clip implement
-
improve test performace
Full set of changes:
v0.0.1...v0.1.0