Skip to content

Contributing to FSDA Python Integration - Wrapper Package Ready for Review (Issue #212) #214

Description

@qaseem97

Hi everyone,

I’ve been following this initiative, and I’m very excited about the goal of making FSDA accessible to Python users. I have already started working on this by developing a robust wrapper architecture that addresses the challenges of bridging FSDA with the Python ecosystem.

have successfully compiled the FSDA toolbox into a standalone Python package (fsda_wrapper_pkg) and developed a wrapper that handles:
Seamless Integration: Instead of manual engine configuration, I’ve implemented an initialize() function that handles pathing and setup automatically.

Robust Data Handling: A dedicated fsda_wrapper.m interface that performs dynamic data type conversion (e.g., handling matlab.double casting and empty input arguments) which was a critical roadblock.

Cross-Functionality: I have already tested and integrated the following core FSDA functions:

  • FSM (with and without interactive plots)
  • FSR (Robust Regression)
  • zscoreFS (including 3D/Sn dimension support)
  • CorAna (Correspondence Analysis)

Developer Experience: Built a menu-driven Python interface to demonstrate how natural the workflow feels for Python users.

I have documented the architectural choices (Why I chose a compiled package over direct engine calls) and the error-handling strategies I used to overcome MATLAB-Python interface limitations.

would love to share my progress, contribute this code to the project and i am sharing my drive link where i have added my package + architecture + my testing script and live testing video

Prerequisites

Before you begin, ensure you have these installed:

-Python (Version 3.12.10 or less greater than this may create issues).
-MATLAB Software
-MATLAB Runtime (The version must match the one used to compile the package, e.g., 2025b).

How to Install and Run

Open your Project Folder:
Navigate to the folder named package where you see the file setup_project.bat.

Run the Installer:

Simply double-click the setup_project.bat file.

-The script will automatically create a Virtual Environment (venv) for you.
-It will install all necessary libraries (matlabengine and numpy) inside that environment.
-it will trigger pip install -e . using your setup.py file, which registers your fsda_wrapper_pkg so you can use it in your code.

Once finished, the environment will be ready, and your package will be linked to your Python setup.

i have share my code file in drive link you can test that code too.

link : https://drive.google.com/drive/folders/16JlIWzzOvxwUOU8Zq9SZjknCpfueWEx3?usp=sharing

Image Image Image Image Image Image

@AldoCorbelliniUNIPR @MarcoRianiUNIPR @UniprJRC @Asadunipr @qaseem97

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions