The NLACE GUI Bringing Biomechanical Imaging Analysis to
The NLACE GUI: Bringing Biomechanical Imaging Analysis to XSEDE Resources Christopher Thompson 17 March 2015
Outline • NLACE Model The Science Workflow • ECSS Request Requirements Solutions ECSS Project Work New Workflow • NLACE GUI Features Future Work Publicity • Q&A 17 March 2015
NLACE enables “Biomechanical Imaging” Users collected images while performing (gentle) mechanical manipulation 17 March 2015 Tissue deformation is measured directly (e. g. Doppler) or extracted from image sequence by image processing. NLACE extracts material properties from input deformation fields
NLACE enables “Biomechanical Imaging” Remarks: • Features and objects are visible in elastic modulus images that are invisible in original images. • Elastic modulus field is quantitative: It provides both an image and a measurement. • The approach is agnostic to the “host” imaging modality, as it ultimately uses only input deformation fields. 17 March 2015
Example: Breast Cancer Remarks: • Ultrasound and modulus images of invasive ductal carcinoma. • Original image data from TJ Hall (U Wisc. ) • Shear modulus image shows location, size, shape, and extent of tumor that is difficult to see in ultrasound. • Heterogeneity of shear modulus indicative of malignancy. 17 March 2015
NLACE computation Mu and gamma are linear and nonlinear elastic modulus, respectively. 17 March 2015
NLACE computation Details: • Users provide input for BCs and • Optimization: • Optimization parameter(s) at Measured fields every grid point (eg lots of parameters). • Nonlinear FEM solver: • BFGS quasi-Newton (local • Nonuniform grids search). • Newton iterations • Requires functional and gradient. • Tangent changes w/ each • Gradient by adjoint method. material update 17 March 2015
NLACE Model Workflow Input Create Raw Data (Instruments/M atlab) 17 March 2015 Execute Run Input Prep Tool (Matlab) Run NLACE Model Results View Output (*. VTK)
ECSS Needs/Requirements • Get users online Most users run Matlab locally to create/manipulate data. Simple gateway: take input run model give output • Utilize Gordon PI allocation request for NLACE assigned to Gordon Good match for single-node jobs with occasional large memory needs • Easy maintenance after project ends PIs have little web development expertise 17 March 2015
Possible Solutions • Standalone Gateway PROS: Complete independence CONS: Web-hosting resources required Maintenance/upkeep of site – need web developer • Application Hosting Gateway PROS: No admin/maintenance of site for PI No web development for PI CONS: Deployed to site not controlled by PI (However, as program is not a web app, can take to other site. ) 17 March 2015
Solution: Dia. Grid • Hub. Zero portal site Community features: Documentation File-hosting & sharing Discussions Group management Support ticketing for user issues No web admin/hosting required by PI • Applications written & deployed like traditional tools Run inside embedded VM window in web page No web development necessary for PI C/C++, Python, Java, etc… • XSEDE Integration Leverage existing infrastructure to submit & manage jobs to Gordon with some modifications 17 March 2015
Step 1: NLACE on Gordon • First needed NLACE model working on Gordon: Created community account on Gordon for model to run as. Installed/tested model on Gordon. • Completed by Steven Clark, ECSS member & Dia. Grid site admin. 17 March 2015
Step 2: Submit Framework • Backend feature of Hub. Zero sites like Dia. Grid. • Automates job control from applications deployed on HZ sites to various types of resources: Dia. Grid Embedded VM Session C L I HT-Condor (Pegasus) PBS Etc. • Handles user/allocation details on Gordon. Steve added config for his NLACE Gordon work to ‘submit’. • Usage in application: Simply fork & run CLI process, wait to finish. No dealing with users, allocations, PBS, etc. 17 March 2015 P B S Submit Compute Cluster Node Node H T | C O N D O R Condor Cloud
Step 3: NLACE GUI • Created simple GUI program for NLACE Explored a few GUI options: Rappture, from scratch Based on previous similar tool on Dia. Grid for submitting R scripts to computing clusters, written in Python. • Allows users to: Upload input files Submit/monitor job @ Gordon Download output files (VTK images) ECSS Bonus: View inside session with Para. View! • Deployed to VNC-like embedded VM in webpage. Nothing for users to download/install locally. Java applet, but testing HTML 5/Java. Script-only solution. 17 March 2015
New NLACE Workflow ow ith W N Dia. Grid. org (@Purdue) Embedded VM Session User Workstation Create Raw Data Run Input Prep. T NLACE GUI INPU www… U OUTP T C L I Submit Framework P B S Gordon (@SDSC) Node Node 17 March 2015
NLACE GUI – New Job 17 March 2015
NLACE GUI – Upload Input 17 March 2015
NLACE GUI – Configure Job 17 March 2015
NLACE GUI – Submit Job 17 March 2015
NLACE GUI – Job Finished 17 March 2015
NLACE GUI – View Output 17 March 2015
NLACE GUI – Download 17 March 2015
DEMO http: //www. diagrid. org/tools/nlacegui 17 March 2015
DEMO Demo file: Invasive ductal carcinoma – malignant breast tumor 17 March 2015
Moving Forward… Future work for PI devs (or a new ECSS project!): • Inspection of results as the model iterates Risk of model getting stuck and never “converging” Some work on this already started • Integrate Input Preparation Step Biggest hurdle: Matlab licensing Possible solutions: Rewrite to use Matlab alternative (Octave? Python? ) Use Matlab compiler to deploy executable version Mathworks Hosting Provider Program? • UI Improvements Improved File Browser More complex storage and access to previous job files File sharing between users? Tool written in Python - flexible, easy for PI to change 17 March 2015
Getting the Word Out… • Paper Will be submitting to XSEDE ‘ 15 in St Louis Software Track Focus on ECSS effort • XSEDE Newsletter Hoping to get article in community newsletter Stressing wide set of project members: PI – Boston U, Rennselaer ECSS – Purdue Resource – SDSC • PI Conference Presentations 13 th U. S. National Congress on Computational Mechanics 2015 Int. Tissue Elasticity Conference 17 March 2015
A Reproducible Success Story • Hoping this can be dev. model for similar projects • Great for models with straight-forward interfaces & projects with limited web hosting resources (Although complex model workflows work, too!) • GUIs easily built & deployed Rapidly up and running Low barrier for maintenance & improvement by PI • ‘Submit’ job mgmt adaptable to other compute resources 17 March 2015
The Team Research ECSS Paul Barbone Lan Zhao Boston University Purdue University Tom Seidl Christopher Thompson Boston University Purdue University Assad Oberai Steven Clark Rennselaer Polytechnic Institute Purdue University Constance Liu Rennselaer Polytechnic Institute 17 March 2015
Q&A http: //www. diagrid. org/tools/nlacegui
- Slides: 29