⚠️ Warning: Code should be refactored in a next release
This repository contains the implementation of mosaicking and occlusion recovery algorithms for fetoscopy, developed as part of a thesis project. The project focuses on panoramic image reconstruction and SLAM techniques for medical imaging applications.
reconstruction_algorithm_RESNET.py- Main reconstruction algorithm using ResNet featuresreconstruction_algorithm_RESNET_VLAD.py- Reconstruction with ResNet and VLAD descriptorsreconstruction_algorithm_VGG.py- Reconstruction algorithm using VGG featuresSLAM_LoFTR_new_dataset.py- SLAM implementation with LoFTR on new datasetSLAM_LoFTR_simulation.py- SLAM simulation using LoFTRSLAM_ORB.py- SLAM implementation with ORB featuresSLAM_SIFT.py- SLAM implementation with SIFT featuresproject_robotics.py- Mosaicking robotic project scriptresnetfinal.pth- Pre-trained ResNet50 weights from FetReg Challenge 2021
Scripts for generating statistical boxplots from experimental data.
Implementation of statistical tests for validating experimental results.
blitting_tries/- Attempts to implement blitting optimization for 3D scatterplot k-means clusteringcode_imported/- Scripts imported from external projectstemplate_matching_tries/- Template matching algorithm experimentstries-LoFTR_images/- LoFTR demonstration images
exposure_fusion/- Mertens exposure fusion implementation (MATLAB)LoFTR/- LoFTR repositorySuperPointPretrainedNetwork/- SuperPoint implementationVGG/- VGG network implementations (PyTorch and Keras)VLAD_master/- VLAD descriptor repository
dataset/- Frame sequences organized in subfoldersdataset_videos/- Reconstructed video sequences
Primary dataset used for thesis experiments, with frames organized in subfolders.
dictionary_file_npy/- VGG feature descriptors (NumPy format)experiment_files/- Experimental results (Excel format)output_panorama_images/- Generated panoramic images by experimentoutput_panorama_video/- Panoramic reconstruction videossimilarity_matrices/- Complete similarity matricessimilarity_matrices_rt_gb_9/- Real-time similarity matrices with Gaussian blur (kernel size 9)visual_dictionary/- VLAD method dictionaries (Pickle format)
Boxplot_images/- Statistical visualization outputsboxplots_npy/- Data files for boxplot generationoutput_panorama_images/- Final panoramic reconstructionsoutput_panorama_video/- Final panoramic videossanity_check_panorama/- Relocalization assessment images
code_Bano/- Implementation of Bano et al. (2020) methodsexamples_generation_code/- Scripts for generating presentation materialsmask_cut/- MICCAI 2021 dataset masks
Scripts for generating and processing similarity matrices.
Previous versions of reconstruction algorithms.
Earlier SLAM implementations.
Previous VGG-based feature extraction code.
- Python 3.x
- PyTorch
- OpenCV
- NumPy
- Additional dependencies as specified in individual script files
Each main algorithm file can be run independently. Refer to individual scripts for specific usage instructions and parameter configurations.
This work focuses on:
- Mosaicking: Creating panoramic views from fetoscopic video sequences
- Occlusion Recovery: Handling visual obstructions in medical imaging
- SLAM: Simultaneous Localization and Mapping for surgical navigation
- Feature Matching: Using various descriptors (LoFTR, SIFT, ORB, VGG, ResNet)
- MICCAI 2020 Dataset
- MICCAI 2021 Dataset
- FetReg Challenge 2021
- Bano et al. (2020)
This repository represents research code that requires refactoring for production use. The codebase includes experimental implementations and legacy code that should be cleaned up in future releases. This work was comtribute by @ChiaraLena