# changelog

## [0.0.1] -> Mar 28, 2024
- setup project

## [0.0.2] -> Aug 09, 2024
- preprocessing module
- grid preprocessing
- graph preprocessing

## [0.0.3] -> Oct 01, 2024
- dataloader module
- preprocessing precision (float16, float32, float64, complex64, complex128)
- preprocessing normalization (min-max, z-score, loading)

## [0.0.4] -> Nov 21, 2024
- Fix masks when loading data
- Data loaded in same dtype as saved
- fast grid dataloader
- fast point dataloader
- fix normalization torch/numpy incompatibility
- normalization saving as json
- add unet model
- add unet example
- add tests for the preprocessing module

## [0.0.5] -> Nov 21, 2024
- Hotfix for unet model

## [0.0.6] -> Dez 2, 2024
- Add tests for point preprocessing
- Preprocessing now possible over multiple batch directories
- Preprocessing expects path to antenna
- Added virtual directory class to iterate over multiple directories as one
- Include testing workflow in github
- include badges in readme
- add transforms (cropping, phase shift, point sampling)
- refactor grid and point dataloaders
- adjust examples with transforms

## [0.0.7] -> Feb 13, 2025
- Hotfix: pass down sampling_method to child classes
- Hotfix: np.float_ deprecated in numpy 2.0
- Fix: positions not being returned in point phase shift
- Fix: change wrong order of point phase shift
- Fix: change wrong calculation of imag field during phase shift
- Fix: point cloud axis rearranging and order of axis now fixed
- Add tests for dataloading

## [0.0.8] -> Mar 20, 2025
- Change voxelization to only consider the voxel center point to determine if voxel is part of mesh
- Implements divergence physics loss function
- Add single coil enumeration transform

## [0.0.9] -> Mar 20, 2025
- Hotfix: Pointwise voxelisation leads to missing coils - add coil thickening

## [0.0.10] -> Sep 22,2025
- Data generation:
    - Implemented the Blob Dataset generation Pipeline
    - Implemented the Custom Mesh generation pipeline
    - Implemented Boolean operation for cutting, trimming meshes
- Tests for data generation
- Optimize samplers for mesh placement (vectorized)
- Add command line interface for preprocessing
- Fix: tubes length to normal size
- Add docs for dataloading

## [0.0.11]  -> Oct 10, 2025
- Add nonlinear normalization types
- Add tests for normalization
- Change tests to only run on ubuntu for normal pushes
- Full tests only run on release
- Add Perlin noise generator to utils (adapted from https://github.com/salaxieb/perlin_noise)
- Fix failing test for standardizer
- Add `MetaNormalizer` to fit multiple normalizers in one pass, tests and examples

## [0.0.12] -> Nov 26, 2025
- Unify grid and point cloud shapes
- deprecate complex dtypes in preprocessing
- Duplicate simulations now raise warning instead of error
- Add tests for duplicate simulations
- Remove deprecated VirtualDirectory class
- Save dipoles before processing simulations
- Add additional transforms: random rotation (arbitrary axes), mirror 
- Fix trimesh deprecated functions
- Implement physics loss functions: faraday's law, gauss's law for magnetism
- Add tests for physics loss functions
- Add examples for physics loss functions

## [0.0.13] -> 
- Fix: standard normalizer not applying nonlinearity
- Prediction writer
- Add B1Plus and PointwiseSAR Transforms
- Add Sqrt Nonlinearity to normalization
