Imageomics / Andromeda

A website that enables users to explore high-dimensional image data
http://andromeda.imageomics.org/
MIT License
2 stars 1 forks source link

Add functional react app #23

Closed johnbradley closed 1 year ago

johnbradley commented 1 year ago

Replaces placeholder React code with typescript approximation of UI from the Andromeda Jupyter notebook. Uses HTML Canvas via Konva to perform rendering of images and dragging logic. Uses Papaparse to parse CSV to allow users to pick the label column, optional URL column, and select from numeric columns to use in MDS logic.

Includes CSV parsing logic by @egrace479 in commit 00d703dc6d0d9cabf94ea10023a1bc9e089d9954. This code has been modified in commit ee354db83459ff29df90be5f84d0d56000bcc44b to be typescript and async/await support has been added.

Item for future work: Automate testing - Minimally running npm run build will verify the typescript types, but we should also have unit tests for the front end logic.

johnbradley commented 1 year ago

Once this is merged I will create issues for two bugs mentioned here https://github.com/Imageomics/Andromeda/pull/25#issue-1743996624.

thompsonmj commented 1 year ago

It looks good from what I can tell!

I notice variable types are often any. Would it be helpful to specify those more carefully now or save that for a later date to improve what npm run build can catch?

johnbradley commented 1 year ago

I notice variable types are often any. Would it be helpful to specify those more carefully now or save that for a later date to improve what npm run build can catch?

Sure. I'll create an issue to look into improving the types once this merges.