Skip to content

feat: establish Phase 2 DCE modality architecture and sync frontend UIFeat/phase 2 dce architecture#44

Open
chinmayy777 wants to merge 2 commits intoOSIPI:mainfrom
chinmayy777:feat/phase-2-dce-architecture
Open

feat: establish Phase 2 DCE modality architecture and sync frontend UIFeat/phase 2 dce architecture#44
chinmayy777 wants to merge 2 commits intoOSIPI:mainfrom
chinmayy777:feat/phase-2-dce-architecture

Conversation

@chinmayy777
Copy link

Description

Resolves Phase 2 Modality Expansion (DCE/DSC)

📦 Stacked PR Notice: > Note for Reviewers: This PR was branched off of my infrastructure fixes in PR #8 so that I could successfully test the Next.js UI locally.

Currently, the GitHub diff shows additional files changed, but the only new changes for this specific feature are in UploadModalityType.ts, UploadButtons.tsx, and the new backend dsc/ and dce/ modality folders. Once the initial infrastructure PR is merged into main, GitHub will automatically update this diff to only show the relevant Phase 2 additions!


To begin executing Phase 2: New Modalities, the system requires a clean Object-Oriented foundation for Dynamic Contrast-Enhanced (DCE) MRI parsing. Furthermore, while auditing the application, I noticed the Next.js UI was completely out of sync with the backend (missing the DSC button in the UI, and missing the DCE stubs in the backend).

To ensure this merges cleanly without triggering Git conflicts with ongoing factory.py and registry.py refactors in other open PRs, this PR introduces a strictly isolated Phase 2 foundation:

  • Frontend Sync: Adds DSC to the UploadModalityType enum and successfully renders all three Phase 2 modality selection buttons (ASL, DSC, DCE) in the Next.js UI.
  • Code Smell Cleanup: Renames the legacy testdsc folder to dsc.
  • Phase 2 Architecture: Establishes the DCEProcessor and DCEValidator classes inheriting from the BaseProcessor factory pattern, ready to be wired into the registry once the current PR queue clears.

Checklist

  • Code follows style guidelines
  • Tests are included and passing (Isolated architectural stubs, UI manually tested)
  • Documentation is updated
  • No breaking changes
  • Error handling is appropriate
  • Performance considerations addressed
  • Security implications considered

Before the fix:
The UI only displayed "ASL" and "DCE" buttons, and the backend had a sloppy testdsc folder with no DCE architecture.

image

After the fix: The UI cleanly displays "ASL", "DSC", and "DCE" buttons, and the backend has properly structured dsc/ and dce/ OOP factory classes.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant