Recent Releases of ng_trajectory
ng_trajectory - v1.15.4
Added
- Configuration parameter
_ng_versionthat defines allowed versions of 'ng_trajectory'.
Changed
- Criterions
- Profile, Profile2
- When first time of reference is not zero, use it as lap time.
- Profile, Profile2
Fixed
- Criterions
- Profile, Profile2
- Do not estimate lap time of the reference when the first time is not zero.
- Profile, Profile2
- 'plot'
rectanglePlot()now actually displays rectangles.
- Python
Published by jara001 over 1 year ago
ng_trajectory - v1.15.3
Added
- Criterions
- Profile2
- Parameters
reference_obtain_startandreference_obtain_start_tdto prepare the criterion and whole pipeline to generate overtaking maneuvers. Using this generates following parameters that overwrite values in the configuration:v_0,fixed_pointsandfixed_segments.
- Parameters
- Profile2
Changed
- Selectors
- Uniformdistance_
- Parameter
fixed_pointscan be now set fromselector_argsas well.
- Parameter
- Uniformtime_
- Parameter
fixed_pointscan be now set fromselector_argsas well.
- Parameter
- Uniformdistance_
- Initialization (
init()) of all algorithms may now return an optional dictionary. When returned, it is fused together with the configuration of the current cascade step (except penalizers as they are handled by the optimizers).
Fixed
- Criterions
- Profile2
- Properly save npy data without raising ragged array 'VisibleDeprecationWarning'.
- Profile2
- Python
Published by jara001 over 1 year ago
ng_trajectory - v1.15.2
Added
- 'nggeneratedata'
- Another file, 'start_points.csv' is generated. It contains positions of the centerline along with the distances to the walls.
Changed
- Criterions
- Profile
saveState()now also saves backward nad maximum speeds that are computed within the speed profiler.
- Profile2
- Remove majority of flake8 warnings.
- Profile
- 'nggeneratedata'
- Generated
start_points.npycontains additional two columns with distances to the walls.
- Generated
- 'plot'
- Support older matplotlib versions in
rectanglePlot().
- Support older matplotlib versions in
Fixed
- Criterions
- Profile
- Properly construct conditional-based dictionary is
saveState().
- Properly construct conditional-based dictionary is
- Profile2
- Properly obtain logfile name.
- Load first four columns of the reference instead of just three.
- Add missing import of
pointToMap(). - Properly construct conditional-based dictionary is
saveState().
- Profile
- Python
Published by jara001 over 1 year ago
ng_trajectory - v1.15.1
Added
- Optimizers
- Braghin
- When logging into a file, display progress bar (similarly to Matryoshka).
- Braghin
- 'nggeneratedata': Argument
--scaleto change the resolution of the output data.
Changed
- Optimizers
- Braghin
- Use sequential executor when number of workers is set to 1.
- Braghin
- Python
Published by jara001 over 1 year ago
ng_trajectory - v1.15.0
Added
- Criterions
- [NEW] Profile2
- Modified criterion to create overtaking heat maps.
- [NEW] Profile2
- Optimizers
- Matryoshka
- Parameter 'forceloadmatryoshka' to load the saved transformation every time.
- Matryoshka
- Segmentators
- Function
validChecksto validate multiple map points at once.
- Function
- 'plot'
- Functions
imgPlotMetric,circlePlotandrectanglePlotused byprofile2.
- Functions
Changed
- Optimizers
- Matryoshka
- When not optimizing, a plot is produced even for unsuccessful attempts.
- Transformation is loaded when the current one is not usable.
- Matryoshka
- Python
Published by jara001 over 1 year ago
ng_trajectory - v1.14.0
Added
- Criterions
- [NEW] Manual
- Criterion 'manual' requests user to specify fitness value for each candidate.
- [NEW] Manual
- Interpolators
- [NEW] None
- Dummy interpolator that forwards given points.
- [NEW] None
- Penalizers
- [NEW] None
- Dummy penalizer that allows any candidate.
- [NEW] None
- Segmentators
- Function
filterPointsto filter points outside of the map.
- Function
- 'nggeneratedata': Save image of generated friction map when verbosity is higher.
- 'nggeneratedata': Arguments
--prefixand--suffixto change the output files' filenames.
Changed
- Use sequential executor when only one worker is requested.
Fixed
- Criterions
- Profile
- Filter out points that are outside of the map when building the friction map.
- Profile
- Python
Published by jara001 over 1 year ago
ng_trajectory - v1.13.4
Changed
- Interpolators
trajectoryClosestIndex()now returns only positive indices.
- Python
Published by jara001 almost 2 years ago
ng_trajectory - v1.13.3
Added
- Optimizers
- Matryoshka
- Add argument 'allownofilter' to 'groupsBorderBeautify()' to use unfitered border data when filtration removes all of them.
- Add parameter 'borderallownofilter' to set 'allowno_filter' from the configuration.
- Matryoshka
Changed
- Criterions
- Profile
- Reference trajectory can have more fields, but only first three (x, y, k) are used.
- Profile
Fixed
- Criterions
- Profile
- Initial velocity should not be changed when computing the profile in the not closed paths.
- Profile
- Optimizers
- Braghin
- Run the segmentator before creating the transformation.
- Braghin
- Python
Published by jara001 almost 2 years ago
ng_trajectory - v1.13.2
Changed
- Selectors
- Uniform distance
trajectoryResample(): Increase the number of points when concatenating parts of the trajectory.
- Uniform distance
Fixed
- Interpolators
- Resolve zero divison and index overflow problems in
trajectoryClosestIndex().
- Resolve zero divison and index overflow problems in
- Python
Published by jara001 almost 2 years ago
ng_trajectory - v1.13.1
Fixed
- Install only
pandas<2.1as newer ones are not compatible with oldernumpy.
- Python
Published by jara001 about 2 years ago
ng_trajectory - v1.13.0
Added
- Criterions
- Profile
- Parameter 'frictionmapyaml' to specify the configuration of the original map.
- When 'frictionmapyaml' is passed, a friction map is also saved in the ROS-compatible (map_server) format.
- Parameter 'frictionmapplot' to plot the friction map (currently, both this and 'frictionmapsave' have to be set).
- Profile
- Segmentators
- Functions
getMapOriginandgetMapGridto obtain parameters of the current internal map.
- Functions
- 'nggeneratedata': When using verbose logging, colors identified as wall/unkn/free and shown.
- 'nggeneratedata': Parameter '--clean' that throws away track points that are outside of the track.
- 'ng_plot': Parameters '--vmin' and '--vmax' to set the bounds of the velocity colormap.
- 'ng_plot': Allow reversed colormaps.
- 'ngplot': Plotting of the friction map when 'frictionmap_plot' is True.
Changed
- Criterions
- Profile
- Saved friction map plot has fixed colormap range.
- Profile
- Optimizers
- "solution" and "final" values are logged with lower verbosity level.
Fixed
- Criterions
- Profile
- Obtain friction from the map using correct index.
- Profile
- 'nggeneratedata': Copy the map to avoid read-only errors.
- 'ng_plot': Generate segmentator map to support friction map for the profiler.
- Python
Published by jara001 about 2 years ago
ng_trajectory - v1.12.1
Added
- Criterions
- Profile
- Parameter 'frictionmapexpand' to fill the map with given friction map.
- Parameter 'frictionmapplot' to plot the used friction map.
- Profile
- File
.flake8that describes flake8 error ignored in the repository.
- Python
Published by jara001 over 2 years ago
ng_trajectory - v1.12.0
Added
- Global logging utility to maintain printing/logging from one place.
- Git changes are stashed before building a wheel to avoid packing untested content.
- Display progress bar when running the optimization while logging into a file.
Changed
- Tweaked logging verbosity at various places.
- 'nggeneratedata': Use inflated map for the creation of friction map.
Fixed
- Plot documentation should display properly now.
- Some lines that should be printed out only once are no longer repeated in the logfile.
- Python
Published by jara001 over 2 years ago
ng_trajectory - v1.11.0
Added
- Criterions
- Profile
- Parameter 'friction_map' to load a friction map from '.npy' file.
- Use friction for computing maximum velocity from the friction map if available.
- Parameter 'frictionmapinverse' to invert the values in the friction map.
- Support for zero friction (impassable area).
- CSV file contains progress along the centerline [m].
- Profile
- Segmentators
- Function
getMapto obtain current internal map used by the segmentators.
- Function
- 'nggeneratedata'
- Parameter
--friction-mapto create a friction map from an image. - Parameter
--fonly/--friction-map-onlyto skip generating map data and generate only friction map data. - Parameter
--friction-map-inverseto inverse the colors in the friction map image.
- Parameter
Changed
- Criterions
- Profile
- Time difference between points is constrained to 10s.
- Generated CSV file holds lap time and path length with the first trajectory point.
- Profile
Fixed
- Criterions
- Profile
- Avoid crashing when logfile is not given.
- Profile
- Segmentators
- Catch and handle OverflowError when identifying invalid points.
- Python
Published by jara001 over 2 years ago
ng_trajectory - v1.10.0
Changed
- Update all files to mitigate majority of the flake8 errors.
Fixed
- Plot documentation is now properly formatted.
- Python
Published by jara001 over 2 years ago
ng_trajectory - v1.9.5
Added
- Criterions
- Profile
- Parameter
favor_overtakingthat is added as a penalty to the lap time when overtaking does not occur. - Parameter
reference_laptimeto set the lap time of the reference instead of estimating it.
- Parameter
- Profile
- Optimizers
- Matryoshka
- Experimental parameter 'experimentalmm_max' that limits mapping to only first 'n' segments.
- Matryoshka
- Segmentators
- Function
pointsToWorldto convert coordinates of multiple cells at once.
- Function
- Expose all parameters in plotter for
figureSave,trackPlot,bordersPlotandindicesPlot.
Changed
- Criterions
- Profile
- Non-closed paths display more points when
plot_timelinesis set to True.
- Non-closed paths display more points when
- Profile
Fixed
- Criterions
- Profile
- Properly detect overtaking points when crossing "0" progress.
- Return correct lap time on non-closed path.
- Reference is properly rotated, so the virtual car does not slow down at wrong places.
- Properly compute delta in the saved trajectory.
- Properly compute heading in the saved trajectory.
- Profile
- Bound version of
bayesian-optimization<=1.4.0to resolve import errors.
- Python
Published by jara001 over 2 years ago
ng_trajectory - v1.9.4
Added
- Criterions
- Profile
- Parameter
plot_overtakingto plot the places where an overtaking occurred during the optimization.
- Parameter
- Profile
- Optimizers
- Matryoshka
- Skip segments fixed by points that are outside of the valid area.
- Save all overtaking points into a file at the end of the cascade step.
- Matryoshka
- GitHub URL to the package manifest.
Changed
- Criterions
- Profile
- Solutions are saved as CSV by default. Pass empty string /
Nonetosave_solution_csvto disable it.
- Solutions are saved as CSV by default. Pass empty string /
- Profile
Fixed
- Criterions
- Profile
- Properly use Queue to display the overtaking points.
- Profile
- Python
Published by jara001 over 2 years ago
ng_trajectory - v1.9.3
Added
- Criterions
- Profile
- Parameter
save_solution_csvtreates$as name of the current log. - Check for overlap consistency, as short overlaps might not smoothen the velocity enough.
- Display points that invalid because of the distance to the reference.
- Show points where overtaking occurs (across whole budget).
- Parameter
- Profile
Changed
- 'ng_plot'
- Parameter
-Ois now optional. When not given, plots are displayed directly in a sequence.
- Parameter
- Python
Published by jara001 over 2 years ago
ng_trajectory - v1.9.2
Added
- 'nggeneratedata'
- Parameter
--inflatethat inflates the walls before processing the map.
- Parameter
Changed
- 'nggeneratedata'
- Function for filtering points is no longer imported from the package.
- Generated image is not in grayscale; centerline points are shown green, start points are red.
Fixed
- Criterions
- Profile
- Parameter
overlapis properly handled via ParameterList.
- Parameter
- Profile
- 'nggeneratedata'
- Centerline is properly filtered when more then one is present.
- Duplicit points are removed before filtering to avoid unfilterable path sections.
- Python
Published by jara001 almost 3 years ago
ng_trajectory - v1.9.1
Fixed
- Criterions
- Profile
- Parameter
reference_rotateno longer flips axes.
- Parameter
- Profile
- 'nggeneratedata'
- Points of the centerline are not duplicated anymore.
- Require numpy versions
<1.24as newer ones are not compatible withnevergrad==0.3.0.
- Python
Published by jara001 almost 3 years ago
ng_trajectory - v1.9.0
Added
- Criterions
- Profile
- Argument
lap_timeforprofileCompute()to obtain lap time of the trajectory. - Parameter
referenceto set file for loading reference trajectory that needs to be avoided in time. - Parameter
reference_distto set the minimum allowed distance from the reference trajectory. - Parameter
reference_rotateto set the rotation of reference trajectory. - Parameters
plot_reference,plot_reference_widthto control plotting of reference trajectory. - Parameter
plot_solutionto control plotting of optimized solution. - Parameters
plot_timelines,plot_timelines_size,plot_timelines_widthto control plotting of lines between points of the same time. - Parameter
save_solution_csvto save final solution to a CSV file. - Parameters
_lfand_lrto set the car wheelbase for the saved trajectory.
- Argument
- Parameter
optimization(default to True) that when True indicates that the criterion is run during optimization sequence (similarly to penalizer). - Parameter
penaltyis passed to criterion during optimization. - When enabled, final trajectory is saved to a csv file.
- Profile
- Interpolators
- Cubicspline_
- Parameter
closed_loopto set interpolator to create closed/unclosed lines.
- Parameter
- Cubicspline_
- Optimizers
- Matryoshka
- Function
indicesToRealCoordinatesInt()to convert indices using slice. - Parameter
load_matryoshkato set file for loading Matryoshka instead of creating it. - Parameter
save_matryoshkato set file for saving Matryoshka after it is created. - Parameter
plot_group_indices(default to True) to turn off group indices in the plot. - Parameter
plot_group_borders(default to True) to turn off group borders in the plot. - Parameter
fixed_segmentsto determine points (and their segments) that are not optimized.
- Function
- Matryoshka
- Penalizers
- Function
eInvalidPoints()to iterate over invalid points obtained by segmentated map.
- Function
- Segmentators
- Floodfill_
- Parameter
parallel_floodto run the segmentation with a ProcessPool.
- Parameter
- Function
pointInBounds()along with globalMAP_BOUNDSto check whether point lies inside the map bounds.
- Floodfill_
- 'nggeneratedata'
- Repeatable parameter
-vto increase verbosity. - Centerline is generated between all walls, but only the section without dead-ends is returned. If this fails, centerline for the largest wall is returned instead.
- Inflated map is saved when verbosity is set to at least 2.
- Repeatable parameter
- 'ng_run'
- Parameter
--helpto show help for the command. - Support for
+[PARAMETER]parameters that modifies the loaded configuration. - Support for
+[PARAMETER]/[PARAMETER]to modify subdictionaries.
- Parameter
- Documentation for package plotter.
- Function
configurationMerge()to merge another configuration to self. - Variate run can properly handle floats when generating a name of the log file.
Changed
- Criterions
- Profile
- Criterion is using the true
lap_time. - Overlap is upper bound by the number of points.
- Criterion is using the true
- Profile
- Optimizers
- Matryoshka
- Use list comprehension in
groupsCenterCompute(). - Force new transformation when number of segments does not correspond to the current mapping.
- Matryoshka is plotted even with held transformation.
- Use list comprehension in
- Matryoshka
- Penalizers
- Count
- Use segmentated map for getting the invalid points instead of numpy vectors.
- Use
eInvalidPoints()where applicable.
- Count
- 'nggeneratedata'
- Arguments are parsed by argparse instead of getopt.
- Map inflation is much faster because of helper array.
- Centerline points are filtered by Matryoshka's
pointsFilter(). - Quantization
PIL.quantize()uses median cut method instead of maximum coverage.
Fixed
- Criterions
- Profile
- Profiling uses curvature that is not modified for straight sections.
- Profile
- Optimizers
- Matryoshka
- ParameterList is updated with keyword arguments.
- Set
optimizationparameter of criterions/penalizers to True during optimizer initialization.
- Matryoshka
- 'ng_help' no longer requires an argument for
-h. - Matplotlib internal variables should not be longer garbage collected from different thread.
- Python
Published by jara001 almost 3 years ago
ng_trajectory - v1.8.0
Added
- Criterions
- [NEW] Jazarmodel_
- Criterion 'Jazar_model' computes speed profile using model from Jazar's book.
- [NEW] Jazarmodel_
- 'ng_graph'
- Parameter
--show-legendto display figure legend. - Parameter
--loc-legendto set position of shown legend. - Parameter
--labelto set legend labels for each dataset. - Parameter
--titleto set the title of generated figure. - Parameter
-j %dto enable parallel processing of log files. - Parameters
--widthand--heightto set the size of the generated figure. - Parameter
--tightto adjust figure padding. - Parameter
--variatesto select which 'x' values should be displayed in the figure. - Parameter
--datasetsto determine dataset indices for configuration files. - Parameter
--no-headerto skip header when using-p. - When using
--merged-minwith-llogs are merged together (and output new "merged-min" statistics). - Show segment value when using
--segmentstogether with-lp. - Parameter
--marker-avgto set the marker style of dataset averages.
- Parameter
- Field
_labelin a configuration file is used when--labelnot given.
Changed
- 'ng_graph'
- Logs described by JSON files are looked for inside the folder of configuration file instead of the current folder.
- Data loading with '--merged-min' skips some steps to make the process faster.
- Input files are not opened right away, but only when actually used.
- Progress is shown when processing logs with
-g. - When using
--merged-min, statistics of a merged log show:- Rate: Success rate of individual runs (% of finding a solution).
- Length: Number of successful runs.
Fixed
- 'ng_graph'
- Parameter
-ris now shown in the correct group. - Parameters are now set properly and should not "eat" more values than expected.
- Parameter
--segmentsis now properly handled. - Standard deviation is not computed when only one log is obtained.
- Success rate of a log is not computed when empty.
- Parameter
- Python
Published by jara001 almost 3 years ago
ng_trajectory - v1.7.2
Fixed
- Interpolators
- Argument
from_leftis properly handled insidetrajectoryClosest().
- Argument
- Selectors
- Uniformtime_
- A proper exception is raised when passing negative
remainvalue.
- A proper exception is raised when passing negative
- Uniformtime_
- Python
Published by jara001 about 3 years ago
ng_trajectory - v1.7.1
Added
- Parameter
-rfor 'ng_graph' to recursively dig through the subfolders when looking for the log files. - Parameter
-gfor 'ng_graph' to show a graph for log files. - Parameter
--segmentsfor 'ng_graph' to set number of segments for used log files. - Multiple log files can be processed at once in 'ng_graph'.
Changed
- Parameters for 'ng_graph' are now grouped.
Fixed
- Log's filename is properly shown in 'ng_graph' with '-l'.
- Python
Published by jara001 over 3 years ago
ng_trajectory - v1.7.0
Added
- Interpolators
- Arguments
from_leftfortrajectoryClosest*()to get closest point from the path beginning.
- Arguments
- Penalizers
- Variable
INVALID_POINTSto store invalid points so that they are not computed multiple times. - [NEW] Curvature
- Penalizer 'Curvature' operates on the curvature of feasible paths.
- Variable
- Selectors
- Uniformdistance_
- Parameter
rotatefor rotating the selection. - Parameter
fixed_pointsto fix some points during selection, and to split the selection into multiple parts.
- Parameter
- Uniformdistance_
- Script 'ng_plot' for generating maps and GIFs from log files.
- Parameter '-p' for 'ng_graph' to show log statistics in plot-friendly csv format.
Changed
- Selectors
- Curvature2
- Parameters of the selector are not reset to default state every
select().
- Parameters of the selector are not reset to default state every
- Curvature2
Fixed
- Optimizers
- Braghin
- Invalid points plotting is hidden behind
plotparameter.
- Invalid points plotting is hidden behind
- Braghin
- Properly compute quantiles in 'ng_graph'.
- Python
Published by jara001 over 3 years ago
ng_trajectory - v1.6.0
Added
- Interpolators
- Function
trajectoryRotate()for rotating the trajectory points along the line. Used by selectors. - Function
trajectoryClosestIndex()to receive index of the closest point. - Functions
trajectoryFarthest()andtrajectoryFarthestIndex()to receive the most distant points.
- Function
- Penalizers
- Parameter
optimization(default to True) that when True indicates that the Penalizer is run during optimization sequence. - Penalizer
utilswith optimization methods. - Centerline
- Methods
sumandavgfor computing the resulting penalty. - Parameters
huber_lossandhuber_deltafor using a Huber loss function when computing the penalty.
- Methods
- [NEW] Segment
- Penalizer 'Segment' operates on the distance of the invalid points from the valid area.
- Parameter
- Segmentators
- Functions
hood4Obtain()andhood8Obtain()for obtaining the neighbour cells in the grid map. - Function
borderCheck()to check whether cell point is on valid area border. - Function
pointToWorld()as a approximate inverse function ofpointToMap(). - Function
validCheck()to find whether cell point is valid.
- Functions
- Selectors
- [NEW] Uniformtime_
- Selector 'Uniform_time' equidistantly samples the path with respect to the time estimated by 'profile' criterion.
- [NEW] Uniformtime_
- New dependency
tqdm. - Script 'ng_graph' for generating graphs from configuration files and log files.
Changed
- Selectors
- Uniform
- Use
trajectoryRotate()instead of the current implementation.
- Use
- Uniform
- Penalizer
init()now receives the full combined keywords dictionary. Therefore, e.g.,methodforcenterlinepenalizer can be varied. - Target
build-wagonis not run when usingbuildtarget.
Fixed
- Script 'nggeneratedata' now properly handles images with alpha channel and images without unknown area.
- Generated documentation is automatically commited on new release.
- Python
Published by jara001 almost 4 years ago
ng_trajectory - v1.5.3
Added
- Target
build-wagonfor creating wagons for 'x86_64' and 'aarch64'.
Changed
- Target
uninstallis generic. - Renamed original
buildtobuild-wheel. - Target
buildnow runsbuild-wheelandbuild-wagon.
Fixed
- Sorting bug while obtaining borders of the segments.
Externally hosted downloads
- ngtrajectory-1.5.3-py3-none-manylinux2014aarch64.wgn (74 MB)
- ngtrajectory-1.5.3-py3-none-manylinux2014x86_64.wgn (74 MB)
- Python
Published by jara001 almost 4 years ago
ng_trajectory - v1.5.2
Fixed
- Citation file should now contain correct fields and values to be properly parsed by GitHub.
- Python
Published by jara001 almost 4 years ago
ng_trajectory - v1.5.1
Added
- Argument
-yfor 'nggeneratedata' to obtain map information from a YAML file (used in ROS maps). - Citation (cff) file.
- Reference to the original paper.
- License file.
- Python
Published by jara001 about 4 years ago
ng_trajectory - v1.5.0
Added
- Interpolators
- Function
pointsDistance()for computing distances between points in a set. - Parameter
verify_sortfortrajectorySort()that removes outliers from the trajectory.
- Function
- Optimizers
- Matryoshka
- Use
verify_sortwhen obtaining borders. - ~~Support for penalizing the optimization results using borderlines. The algorithm returns
PENALTY * d, wheredis the distance to the nearest borderline point that the candidate point belongs to.~~ - ~~Parameter
use_borderlinesthat activates borderline-based penalization.~~ - Parameter
plot_mappingthat shows the transformation by mapping a grid onto the track. (Use only for demonstration.)
- Use
- Matryoshka
- [NEW] Penalizers
- New group of algorithms which are used for evaluating whether the candidate is incorrect. In that case penalty is computed.
- In constrast to other algorithms,
init()of penalizers should be executed duringinit()of optimizers. - Count
- Penalizer 'Count' is the basic penalizer used in ng_trajectory. It counts number of points outside the valid area.
- Borderlines
- Penalizer 'Borderlines' calculates minimum of maximum of the distances between misplaced points and their associated borderline (sets of points on the borders between two adjacent segments).
- ~~Warning Currently, this works only for Matryoshka.~~
- Warning Currently, this works only for Flood Fill segmentator.
- Centerline
- Penalizer 'Centerline' finds the minimum of maximum of the distances between misplaced points and their associated part of the centerline.
- Parameter
methodthat allows selecting whether the penalty is minimum or maximum of all found distances.
- Segmentators
- Flood Fill
- Function
segmentDistance()that computes distance from a point to a segment. - Parameter
reserve_widththat creates a reserved region for each segment in order to touch both (outer and inner) walls. - Parameter
reserve_selectedwith list of segments that should use the reservation method. When unset, all are used. - Parameter
reserve_distancethat sets the distance from the wall-segment connector that is reserved for the segment. - ~~Parameter
create_borderlinesthat creates a nested dict of borderlines between segments.~~ - Parameter
plot_floodto plot the flooded areas into the figure. (Only for demonstration.)
- Function
- Flood Fill
- Selectors
- Curvature
- Parameter
downsample_factorthat controls downsampling prior to the interpolation. - Option
show_plotthat hides the plot even though it is saved to file. - Parameter
split_peaksthat was used for some time that adds +-1 points around the peaks.
- Parameter
- [NEW] Fixed
- Selector 'Fixed' returns preset list of points.
- [NEW] Curvature2
- Selector 'Curvature2' uses metric units for peaks identification and operates more automatically than 'Curvature'.
- [NEW] Uniformdistance_
- Selector 'Uniform_distance' equidistantly samples the path.
- Curvature
- Intermediate results are stored inside logs, allowing to pause the experiments. (Only at the loop end.)
- Checking for already present logs and resuming the experiment at the loop it has ended.
- Variable
__version__to be used for scripts. - Current version is reported on every 'ng_run' start and at the beginning of every log (when logging enabled).
- Script 'ngcurvaturegui' for testing the Curvature selector parameters.
- Function
figureClose()for closing the figures. It should be called after saving the figure to free used memory. - Parameter
--gendocfor 'ng_help' to generate the README in the repository. - Script 'release.sh' as a guideline for successful creating of a new release.
Changed
- Segmentators
- Flood Fill
- Remove empty segments caused mostly by a selected group center outside of the valid area. This will probably change in the future.
- Flood Fill
- Track is plotted using lighter gray that is not in the standard palette. Therefore the colors should not overlap anymore.
- Algorithms are passed to the optimizer as modules not callables. Therefore it is possible to call other functions of the module as well.
- Figures created during the optimization are closed after saving.
Fixed
- Selectors
- Curvature
- Track with identified turns is plotted with equal axes.
- Curvature
- Python
Published by jara001 about 4 years ago
ng_trajectory - v1.4.3
Changed
- Un-nested plot functions return created objects.
Fixed
- Selectors: Resolve missing peaks for Curvature selector.
- Optimizers: Plot in Matryoshka only when it is allowed.
- Add PHONY target to Makefile to get around 'target is up-to-date'.
- Figure/pyplot wrappers are protected by
plot_onlydecorator.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.4.2
Added
- Makefile for building/installing/removing the package.
- Functions
reset()andresetAll()to restore default states of parameters. - Parameter 'reset' for
updateAll()to automatically reset all parameters. - Documentation exported from 'ng_help' to README.
Fixed
- Segmentators: Flood_fill is no longer using old parameters when restarting the cascade.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.4.1
Changed
- Selectors: Curvature selector no longer imports
pyplotdirectly. - 'nggeneratedata': Numpy is using Python builtin data types.
Fixed
- Running the scripts without
matplotlibno longer raises an exception.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.4.0
Changed
- Optimizers: Matryoshka does not sort centerline before the selection (for segmentation).
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.3.0
Added
- Script 'ng_help' for showing help for the algorithms and their parameters.
- Utilizy 'parameter' for documented usage of parameters within the algorithms.
Changed
- Use newly introduced ParameterList inside the algorithms, at least for the documentation.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.2.2
Added
- Selectors: Curvature_sample selector (based on the Botta, 2012 article) by Ondra Benedikt.
Changed
- Optimizers: Default number of workers is set to the number of logical processors.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.2.1
Fixed
- 'nggeneratedata': Resampling method used when resizing the image is now explicitly set to 'PIL.Image.BILINEAR' as it was changed in an older version of Pillow package.
- 'nggeneratedata': Add
Pillow>=4.2.0dependency to the setup file.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.2.0
Added
- Optimizers: Final graph now contains invalid points as well (if present).
- Selectors: When using negative selection, leave the number of points on the selector.
- Selectors: Curvature selector by Ondra Benedikt.
- Script 'nggeneratedata' for generating numpy files for the algorithm from an image of the map.
Changed
- Optimizers: Individual plotting is now forced on the main figure, instead of the global one.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.1.1
Added
- Segmentators/Utils:
gridCompute()to obtain square grid size of the points. - Substitute not selected algorithms with a stub.
- Parameter
silent_stubthat suppresses errors when calling stub.
Changed
- Selectors: Uniform selector now treats rotate as factor between two consecutive points, instead of rotating the whole path.
Fixed
- Optimizers: Invalidity of points is compared to the specified or computed square grid size instead of a fixed value.
- Optimizers: Constant for penalty is no longer fixed and can be set via parameter
penalty.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.1.0
Added
- Automatic versioning of the package.
- Optimizers: Braghin supports parameter
path_reductionfor reducing the path prior to the interpolation. - Selectors as a class of methods used for retrieving group centers from the centerline.
- Selectors: Uniform selector that supports selection rotation.
- Script 'ng_run' for invoking the algorithm directly from Terminal.
Changed
- Optimizers: Braghin's parameters
endpoint_distanceandendpoint_accuracyare modifiable. - Optimizers: Braghin during its transformation works with the full length of the centerline instead of a subset.
Fixed
- Exception message is shown when parsing JSON fails.
- Variate run is using string formatting to properly display non-int variables.
- Python
Published by jara001 over 4 years ago
ng_trajectory - v1.0.0
First version of the 'ng_trajectory' reimplementation.
- Python
Published by jara001 over 4 years ago