- Implemented `eikonal_loss` to compute gradient regularization for non-manifold points
- Added `offsurface_loss` to penalize points far from the surface with near-zero predictions
- Introduced `consistency_loss` to enforce prediction consistency between manifold and non-manifold points
- Added `position_loss` method to calculate manifold loss using mean absolute value
- Implemented `normals_loss` method to compute normal vector loss with gradient calculation
- Updated `train.py` to log input and output tensor shapes during training
- Modified network architecture in `train.py` by increasing hidden layer dimensions from [64, 64, 64] to [256, 256, 256]
- Created `loss.py` with a `LossManager` class to handle loss calculation
- Integrated `LossManager` into the training pipeline in `train.py`
- Implemented a basic manifold loss computation using mean absolute value
- Added `data_loader.py` with `NHREP_Dataset` class for loading point cloud, feature mask, and CSG tree data
- Implemented `CustomDataLoader` for flexible data loading with configurable parameters
- Refactored `train.py` to create a structured training pipeline for NHRepNet
- Added support for feature sampling, device selection, and TensorBoard logging
- Introduced modular training methods with error handling and logging
- Added comprehensive inline comments explaining each step of the training process in the `run_nhrepnet_training` method
- Improved code structure by adding descriptive comments for variable initializations and key computational steps
- Enhanced code readability by breaking down complex operations with clear explanatory comments
- Maintained existing functionality while providing better code documentation
- Replaced print statements with logger.info() in ReconstructionRunner class
- Added logging for input and output tensor shapes in NHRepNet forward method
- Improved logging consistency and added docstring for network forward method
- Split the initialization process into multiple private methods for better readability and maintainability.
- Added detailed logging for each step of the initialization process, including error handling for missing parameters and file loading issues.
- Enhanced configuration and directory setup with clearer error messages and structured logging.
- Improved data loading methods to handle both single and list-based data inputs more robustly.
- Introduced methods for setting up the CSG tree and computing local sigma values, with appropriate logging for each operation.