Release Notes¶
0.3.3 (30.03.2021)¶
This is a bugfix release to correctly include the asdf schema files in conda builds. [#314]
0.3.1 (21.03.2021)¶
ASDF¶
changes¶
plot_graph
of the CSM now renders static and time-dependent edges differently [#291]use
pint
compatible array syntax inIsoBaseGroove.to_profile()
methods [#189]CSM and LCS plot function get a
scale_vectors
parameter. It scales the plotted coordinate system vectors when using matplotlib as backend [#293]
0.3.0 (12.03.2021)¶
added¶
add
weldx.transformations.CoordinateSystemManager.relabel
function [#219]add
SpatialDate
class for storing 3D point data with optional triangulation [#234]add
plot
function toSpatialData
[#251]add
plot
function to visualizeLocalCoordinateSystem
andCoordinateSystemManager
instances in 3d space [#231]add
weldx.welding.groove.iso_9692_1.IsoBaseGroove.cross_sect_area
property to compute cross sectional area between the workpieces [#248].add
weldx.welding.util.compute_welding_speed
function [#248].
ASDF¶
Add possibility to store meta data and content of an external file in an ASDF file [#215]
Python class:
weldx.asdf.ExternalFile
Schema:
core/file-1.0.0.yaml
Added support for serializing generic metadata and userdata attributes for weldx classes. [#209]
the provisional attribute names are
wx_metadata
andwx_user
None
values are removed from the asdf tree for allweldx
classes. [#212]add
datamodels
directory and examplehttp://weldx.bam.de/schemas/weldx/datamodels/single_pass_weld-1.0.0.schema
schema [#190]schemas in the
datamodels
directory do not define any tags and can be referenced in other schemas and ascustom_schema
when reading/writingASDF
-filesthe
single_pass_weld-1.0.0.schema
is an example schema for a simple, linear, single pass GMAW applicationadd
core/geometry/point_cloud-1.0.0.yaml
schema [#234]
add file schema describing a simple linear welding application
datamodels/single_pass_weld-1.0.0.schema
[#256]
documentation¶
changes¶
pass variable names as tuple to
sympy.lambdify
inMathematicalExpression
to prevent sympy deprecation [#214]set
conda-forge
as primary channel inenvironment.yaml
andbuild_env.yaml
[#214]set minimum Python version to 3.7 [#220]
geometry.Profile.rasterize
can return list of rasterized shapes instead of flat ndarray (with settingstack=False
) [#223]geometry.Profile.plot
plots individual line objects for each shape (instead of a single line object) [#223]remove jinja templates and related code [#228]
add
stack
option to mostgeometry
classes for rasterization [#234]The graph of a
CoordinateSystemManager
is now plotted withplot_graph
instead ofplot
. [#231]add custom
wx_shape
validation forTimeSeries
andQuantity
[#256]refactor the
transformations
andvisualization
module into smaller files [#247]refactor
weldx.utility
intoweldx.util
[#247]refactor
weldx.asdf.utils
intoweldx.asdf.util
[#247]it is now allowed to merge a time-dependent
timedelta
subsystem into anotherCSM
instance if the parent instance has set an explicit reference time [#268]
fixes¶
don’t inline time dependent
LCS.coordinates
[#222]fix “datetime64” passing for “timedelta64” in
xr_check_coords
[#221]fix
time_ref_restore
not working correctly if notime_ref
was set [#221]fix deprecated signature in
WXRotation
[#224]fix a bug with singleton dimensions in xarray interpolation/matmul [#243]
update some documentation formatting and links [#247]
fix
wx_shape
validation for scalarQuantity
andTimeSeries
objects [#256]fix a case where
CSM.time_union()
would return with mixedDateTimeIndex
andTimeDeltaIndex
types [#268]
0.2.2 (30.11.2020)¶
added¶
Added
weldx.utility.ureg_check_class
class decorator to enablepint
dimensionality checks with@dataclass
. [#179]Made coordinates and orientations optional for LCS schema. Missing values are interpreted as unity translation/rotation. An empty LCS object represents a unity transformation step. [#177]
added
weldx.utility.lcs_coords_from_ts
function [#199]add a tutorial with advanced use case for combining groove interpolation with different TCP movements and distance calculations [#199]
changes¶
refactor welding groove classes [#181]
refactor groove codebase to make use of subclasses and classnames for more generic functions
add
_meta
attribute to subclasses that map class attributes (dataclass parameters) to common namesrework
get_groove
to make use of new class layout and parse function arguments
create
weldx.welding
module (contains GMAW processes and groove definitions) [#181]move
GmawProcessTypeAsdf
toasdf.tags
folder [#181]reorder module imports in
weldx.__init__
[#181]support timedelta dtypes in ASDF
data_array/variable
[#191]add
set_axes_equal
option to some geometry plot functions (now defaults toFalse
) [#199]make
utility.sine
public function [#199]switch to setuptools_scm versioning and move package metadata to setup.cfg [#206]
0.2.1 (26.10.2020)¶
changes¶
Documentation
Documentation is published on readthedocs
API documentation is now available
New tutorial about 3 dimensional geometries [#105]
CoordinateSystemManager
supports multiple time formats and can get a reference time [#162]
each instance can be named
gets a
plot
function to visualize the graphcoordinate systems can be updated using
add_cs
supports deletion of coordinate systems
instances can now be merged and unmerged
LocalCoordinateSystem
LocalCoordinateSystem
now acceptspd.TimedeltaIndex
andpint.Quantity
astime
inputs when provided with a referencepd.Timestamp
astime_ref
[#97]LocalCoordinateSystem
now acceptsRotation
-Objects asorientation
[#97]Internal structure of
LocalCoordinateSystem
is now based onpd.TimedeltaIndex
and a referencepd.Timestamp
instead ofpd.DatetimeIndex
. As a consequence, providing a reference timestamp is now optional. [#126]
weldx.utility.xr_interp_like
now accepts non-iterable scalar inputs for interpolation [#97]add
pint
compatibility to somegeometry
classes (experimental)when passing quantities to constructors (and some functions), values get converted to default unit
mm
and passed on as magnitudeold behavior is preserved
add
weldx.utility.xr_check_coords
function to check coordinates of xarray object against dtype and value restrictions [#125]add
weldx.utility._sine
to easily create sine TimeSeries [#168]enable
force_ndarray_like=True
as default option when creating the globalpint.UnitRegistry
[#167]ut.xr_interp_like
keeps variable and coordinate attributes from original DataArray [#174]rework
ut.to_pandas_time_index
to accept many different formats (LCS, DataArray) [#174]add utility functions for handling time coordinates to “weldx” accessor [#174]
ASDF extension & schemas¶
add
WxSyntaxError
exception for custom weldx ASDF syntax errors [#99]add custom
wx_tag
validation and updatewx_property_tag
to allow new syntax [#99]
the following syntax can be used:wx_tag: http://stsci.edu/schemas/asdf/core/software-* # allow every version wx_tag: http://stsci.edu/schemas/asdf/core/software-1 # fix major version wx_tag: http://stsci.edu/schemas/asdf/core/software-1.2 # fix minor version wx_tag: http://stsci.edu/schemas/asdf/core/software-1.2.3 # fix patchversion
add basic schema layout and
GmawProcess
class for arc welding process implementation [#104]add example notebook and documentation for arc welding process [#104]
allow optional properties for validation with
wx_shape
by putting the name in brackets like(optional_prop)
[#176]
0.2.0 (30.07.2020)¶
ASDF¶
add
wx_unit
andwx_shape
validatorsadd
doc/shape-validation.md
documentation forwx_shape
[#75]add
doc/unit-validation.md
documentation forwx_unit
add unit validation to
iso_groove-1.0.0.yaml
fixed const/enum constraints and properties in
iso_groove-1.0.0.yaml
add NetCDF inspired common types (
Dimension
,Variable
) with corresponding asdf serialization classesadd asdf serialization classes and schemas for
xarray.DataArray
,xarray.Dataset
,weldx.transformations.LocalCoordinateSystem
andweldx.transformations.CoordinateSystemManager
.add test for
xarray.DataArray
,xarray.Dataset
,weldx.transformations.LocalCoordinateSystem
andweldx.transformations.CoordinateSystemManager
serialization.allow using
pint.Quantity
coordinates inweldx.transformations.LocalCoordinateSystem
[#70]add measurement related ASDF serialization classes: [#70]
equipment/generic_equipment-1.0.0
measurement/data-1.0.0
data_transformation-1.0.0
measurement/error-1.0.0
measurement/measurement-1.0.0
measurement/measurement_chain-1.0.0
measurement/signal-1.0.0
measurement/source-1.0.0
add example notebook for measurement chains in tutorials [#70]
add support for
sympy
expressions withweldx.core.MathematicalExpression
and ASDF serialization incore/mathematical_expression-1.0.0
[#70] , [#76]add class to describe time series -
weldx.core.TimeSeries
[#76]add
wx_property_tag
validator [#72]the
wx_property_tag
validator restricts all properties of an object to a single tag. For example the following object can have any number of properties but all must be of typetag:weldx.bam.de:weldx/time/timestamp-1.0.0
type: object additionalProperties: true # must be true to allow any property wx_property_tag: "tag:weldx.bam.de:weldx/time/timestamp-1.0.0"
It can be used as a “named” mapping replacement instead of YAML
arrays
.add
core/transformation/rotation-1.0.0
schema that implementsscipy.spatial.transform.Rotation
andtransformations.WXRotation
class to create custom taggedRotation
instances for custom serialization. [#79]update requirements to
asdf>=2.7
[#83]update
anyOf
tooneOf
in ASDF schemas [#83]add
__eq__
functions toLocalCoordinateSystem
andCoordinateSystemManager
[#87]
0.1.0 (05.05.2020)¶
ASDF¶
add basic file/directory layout for asdf files
asdf schemas are located in
weldx/asdf/schemas/weldx.bam.de/weldx
tag implementations are in
weldx/asdf/tags/weldx
implement support for pint quantities
implement support for basic pandas time class
implement base welding classes from AWS/NIST “A Welding Data Dictionary”
add and implement ISO groove types (DIN EN ISO 9692-1:2013)
add basic jinja templates and functions for adding simple dataclass objects
setup package to include and install ASDF extensions and schemas (see setup.py, MANIFEST.in)
add basic tests for writing/reading all ASDF classes (these only run code without any real checks!)
module:¶
add setup.py package configuration for install
required packages
package metadata
asdf extension entry points
version support
update pandas, scipy, xarray and pint minimum versions (in conda env and setup.py)
add versioneer
update options in setup.cfg
update tool configurations