- Added the environment variable `TZ=Asia/Shanghai` to the Docker run command for better timezone handling.
- This change improves the usability of the Docker setup for users in the specified timezone.
- Changed the permissions of build.sh to make it executable.
- Simplified the cmake command in build.sh by removing hardcoded paths for CUDNN.
- Updated CMakeLists.txt in console_pytorch and evaluation directories to reflect a new CMAKE_PREFIX_PATH for libtorch, ensuring compatibility with the current workspace structure.
- Added 'libtorch/' to prevent tracking of specific library files.
- Included patterns for '*.pth' and '*.zip' to exclude model and archive files.
- Ensured proper formatting and consistency in the .gitignore file.
- Expanded the .gitignore file to include CMake-related files and directories, such as CMakeCache.txt, CMakeFiles/, and build/ to prevent tracking of build artifacts.
- Added exclusions for log files and IDE-specific files, including .vscode/ and .idea/, to streamline the repository and avoid clutter from temporary files.
- Retained existing exclusions for CSV files while ensuring proper formatting in the .gitignore.
- Added project root directory setup to ensure consistent file paths.
- Integrated a custom logger for enhanced logging capabilities.
- Updated argument parsing to use absolute paths for ground truth and prediction data.
- Improved documentation for distance functions and added a new function to compute feature distances and angle differences.
- Refactored file reading to use context management for better resource handling.
- Added 'exps/' and 'summary/' directories to the .gitignore file to prevent tracking of experimental and summary data.
- Retained existing exclusion for 'data/' while removing the specific exclusion for 'data/*' to allow for potential subdirectory tracking.
- 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.
- Introduced a `Logger` class that implements a singleton pattern for logging.
- Added a `ColoredFormatter` to provide colored log output based on log levels.
- Implemented methods for logging at different levels (debug, info, warning, error, exception).
- Included functionality to capture caller information and log it alongside messages.
- Created a `LogConfig` dataclass for easy configuration of logging parameters.
- Set up a global logger instance with default configuration.
- Added a `timeit` decorator for measuring function execution time.