SlideShare a Scribd company logo
Team XYZ: Yan Xu Yu Zhang
Imaging Processing 
Communications 
Group A at place A 
Group B at place B 
(thousands of miles away) 
Long distance, Low efficiency
Commands 
Results 
Group A Group B 
YX 
YZ 
Hadoop
• 3D Image Storage: 2D Z slices in jpg 
• Libraries: HIPI (FloatImage, JPEGFileInputFormat). 
• Pipeline I (projection, non-overlapping patches): 
(xy index, 
FloatImage) 
2D Z slices Projected Image 
non-overlap 
XY patches 
projection 
along z 
merge to one 
projected jpg 
Jpg 
seq 
same xy 
index
• Pipeline II (3-D filtering, overlapping patches): 
(xy index, 
FloatImage) 
overlap XY 
patches 
3-D image 
filtering 
non-overlap 
XY patches 
(z index, 
FloatImage) 
merge XY 
patches 
Jpg seq 
named by xy_z.jpg 
Jpg 
seq 
Jpg 
seq 
same xy 
index 
same Z 
index 
2D Z slices 
of original 3D 
image 
2D Z slices 
of processed 
3D image
190 jpg sequences 
for one 3-D image 
(54.6MB, 1000 × 1000) 
Cropped into 
5 × 5 patches (200 × 200) ) 
localhost:50030 
Max Projection Mean Projection 
Test 3-D image:
Web Terminal 
Image Window 
Control Panel 
Display original 3D image 
Explore 3D image by slices 
Zoom in and out 
Hand move 
Display processing result
Tools 
O 
Map-reduce 
Java 
Javascript
 Compatibility 
Compatible with ImageJ (open-source Java 
image processing tool) 
 Extendibility 
Upload and run the script by users 
 Attractiveness 
More user-friendly interface
Team XYZ 
XY YZ

More Related Content

What's hot

What's hot (18)

Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
Towards Utilizing GPUs in Information Visualization
Towards Utilizing GPUs in Information VisualizationTowards Utilizing GPUs in Information Visualization
Towards Utilizing GPUs in Information Visualization
 
Team 9: Extraction and classification of satellite image patches
Team 9: Extraction and classification of satellite image patchesTeam 9: Extraction and classification of satellite image patches
Team 9: Extraction and classification of satellite image patches
 
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...
 
50120140502003
5012014050200350120140502003
50120140502003
 
G-Store: High-Performance Graph Store for Trillion-Edge Processing
G-Store: High-Performance Graph Store for Trillion-Edge ProcessingG-Store: High-Performance Graph Store for Trillion-Edge Processing
G-Store: High-Performance Graph Store for Trillion-Edge Processing
 
distance_matrix_ch
distance_matrix_chdistance_matrix_ch
distance_matrix_ch
 
Image compression
Image compressionImage compression
Image compression
 
Hubba Deep Learning
Hubba Deep LearningHubba Deep Learning
Hubba Deep Learning
 
Deep Learning meetup
Deep Learning meetupDeep Learning meetup
Deep Learning meetup
 
It Jam 2009
It Jam 2009It Jam 2009
It Jam 2009
 
Texture mapping
Texture mapping Texture mapping
Texture mapping
 
Texture Mapping
Texture MappingTexture Mapping
Texture Mapping
 
Fun with Computer Vision
Fun with Computer VisionFun with Computer Vision
Fun with Computer Vision
 
Looking into the past - feature extraction from historic maps using Python, O...
Looking into the past - feature extraction from historic maps using Python, O...Looking into the past - feature extraction from historic maps using Python, O...
Looking into the past - feature extraction from historic maps using Python, O...
 
GIS fundamentals - raster
GIS fundamentals - rasterGIS fundamentals - raster
GIS fundamentals - raster
 
Image types &fileformats
Image types &fileformatsImage types &fileformats
Image types &fileformats
 
The next generation of the Montage image mosaic engine
The next generation of the Montage image mosaic engineThe next generation of the Montage image mosaic engine
The next generation of the Montage image mosaic engine
 

Viewers also liked

Modern young man
Modern young manModern young man
Modern young man
MrShved
 
Evaluation question 2
Evaluation question 2Evaluation question 2
Evaluation question 2
Georgii_Kelly
 
CED - Summer Realization
CED - Summer RealizationCED - Summer Realization
CED - Summer Realization
Sien Heng
 

Viewers also liked (20)

Clustering introduction
Clustering introductionClustering introduction
Clustering introduction
 
K means and dbscan
K means and dbscanK means and dbscan
K means and dbscan
 
Mean shift and Hierarchical clustering
Mean shift and Hierarchical clustering Mean shift and Hierarchical clustering
Mean shift and Hierarchical clustering
 
Visualization using tSNE
Visualization using tSNEVisualization using tSNE
Visualization using tSNE
 
Spectral clustering - Houston ML Meetup
Spectral clustering - Houston ML MeetupSpectral clustering - Houston ML Meetup
Spectral clustering - Houston ML Meetup
 
Nonlinear dimension reduction
Nonlinear dimension reductionNonlinear dimension reduction
Nonlinear dimension reduction
 
Kernel Bayes Rule
Kernel Bayes RuleKernel Bayes Rule
Kernel Bayes Rule
 
Introduction to data integration in bioinformatics
Introduction to data integration in bioinformaticsIntroduction to data integration in bioinformatics
Introduction to data integration in bioinformatics
 
Asbal
AsbalAsbal
Asbal
 
DTC WEBSITE PACKAGE #2
DTC WEBSITE PACKAGE #2DTC WEBSITE PACKAGE #2
DTC WEBSITE PACKAGE #2
 
Unidad 5.
Unidad 5.Unidad 5.
Unidad 5.
 
DTC Website Package #1
DTC Website Package #1DTC Website Package #1
DTC Website Package #1
 
Cambodia Exchange Learning - Project Booklet
Cambodia Exchange Learning - Project BookletCambodia Exchange Learning - Project Booklet
Cambodia Exchange Learning - Project Booklet
 
How to add products in your website
How to add products in your websiteHow to add products in your website
How to add products in your website
 
โทรศัพท์และสัญญาณ
โทรศัพท์และสัญญาณโทรศัพท์และสัญญาณ
โทรศัพท์และสัญญาณ
 
Like a boss
Like a bossLike a boss
Like a boss
 
Modern young man
Modern young manModern young man
Modern young man
 
โทรศัพท์และสัญญาณ
โทรศัพท์และสัญญาณโทรศัพท์และสัญญาณ
โทรศัพท์และสัญญาณ
 
Evaluation question 2
Evaluation question 2Evaluation question 2
Evaluation question 2
 
CED - Summer Realization
CED - Summer RealizationCED - Summer Realization
CED - Summer Realization
 

Similar to Cloud-based Storage, Processing and Rendering for Gegabytes 3D Biomedical Images

Generic Image Processing With Climb - Slides
Generic Image Processing With Climb - SlidesGeneric Image Processing With Climb - Slides
Generic Image Processing With Climb - Slides
Laurent Senta
 
London useR Meeting 21-Jul-09
London useR Meeting 21-Jul-09London useR Meeting 21-Jul-09
London useR Meeting 21-Jul-09
bwhitcher
 
lec1_matlab.ppt basic all operations matlab operations
lec1_matlab.ppt basic all operations matlab operationslec1_matlab.ppt basic all operations matlab operations
lec1_matlab.ppt basic all operations matlab operations
samraj sundarraj
 

Similar to Cloud-based Storage, Processing and Rendering for Gegabytes 3D Biomedical Images (20)

Generative modeling with Convolutional Neural Networks
Generative modeling with Convolutional Neural NetworksGenerative modeling with Convolutional Neural Networks
Generative modeling with Convolutional Neural Networks
 
point processing
point processingpoint processing
point processing
 
Point Processing
Point ProcessingPoint Processing
Point Processing
 
Generic Image Processing With Climb - Slides
Generic Image Processing With Climb - SlidesGeneric Image Processing With Climb - Slides
Generic Image Processing With Climb - Slides
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial Community
 
GAN in medical imaging
GAN in medical imagingGAN in medical imaging
GAN in medical imaging
 
GTC Taiwan 2017 深度學習於表面瑕疵檢測之應用
GTC Taiwan 2017 深度學習於表面瑕疵檢測之應用GTC Taiwan 2017 深度學習於表面瑕疵檢測之應用
GTC Taiwan 2017 深度學習於表面瑕疵檢測之應用
 
London useR Meeting 21-Jul-09
London useR Meeting 21-Jul-09London useR Meeting 21-Jul-09
London useR Meeting 21-Jul-09
 
morph.ppt
morph.pptmorph.ppt
morph.ppt
 
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetup
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetupLucas Theis - Compressing Images with Neural Networks - Creative AI meetup
Lucas Theis - Compressing Images with Neural Networks - Creative AI meetup
 
Multimedia Object - Image
Multimedia Object - ImageMultimedia Object - Image
Multimedia Object - Image
 
Master defence 2020 - Vadym Korshunov - Region-Selected Image Generation with...
Master defence 2020 - Vadym Korshunov - Region-Selected Image Generation with...Master defence 2020 - Vadym Korshunov - Region-Selected Image Generation with...
Master defence 2020 - Vadym Korshunov - Region-Selected Image Generation with...
 
lec1_matlab.ppt basic all operations matlab operations
lec1_matlab.ppt basic all operations matlab operationslec1_matlab.ppt basic all operations matlab operations
lec1_matlab.ppt basic all operations matlab operations
 
Matlab Graphics Tutorial
Matlab Graphics TutorialMatlab Graphics Tutorial
Matlab Graphics Tutorial
 
Image Processing Using MATLAB
Image Processing Using MATLABImage Processing Using MATLAB
Image Processing Using MATLAB
 
Image processing in MATLAB
Image processing in MATLABImage processing in MATLAB
Image processing in MATLAB
 
Halide - 1
Halide - 1Halide - 1
Halide - 1
 
MLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transferMLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
 
Log polar coordinates
Log polar coordinatesLog polar coordinates
Log polar coordinates
 
DiscoGAN
DiscoGANDiscoGAN
DiscoGAN
 

More from Yan Xu

More from Yan Xu (20)

Kaggle winning solutions: Retail Sales Forecasting
Kaggle winning solutions: Retail Sales ForecastingKaggle winning solutions: Retail Sales Forecasting
Kaggle winning solutions: Retail Sales Forecasting
 
Basics of Dynamic programming
Basics of Dynamic programming Basics of Dynamic programming
Basics of Dynamic programming
 
Walking through Tensorflow 2.0
Walking through Tensorflow 2.0Walking through Tensorflow 2.0
Walking through Tensorflow 2.0
 
Practical contextual bandits for business
Practical contextual bandits for businessPractical contextual bandits for business
Practical contextual bandits for business
 
Introduction to Multi-armed Bandits
Introduction to Multi-armed BanditsIntroduction to Multi-armed Bandits
Introduction to Multi-armed Bandits
 
A Data-Driven Question Generation Model for Educational Content - by Jack Wang
A Data-Driven Question Generation Model for Educational Content - by Jack WangA Data-Driven Question Generation Model for Educational Content - by Jack Wang
A Data-Driven Question Generation Model for Educational Content - by Jack Wang
 
Deep Learning Approach in Characterizing Salt Body on Seismic Images - by Zhe...
Deep Learning Approach in Characterizing Salt Body on Seismic Images - by Zhe...Deep Learning Approach in Characterizing Salt Body on Seismic Images - by Zhe...
Deep Learning Approach in Characterizing Salt Body on Seismic Images - by Zhe...
 
Deep Hierarchical Profiling & Pattern Discovery: Application to Whole Brain R...
Deep Hierarchical Profiling & Pattern Discovery: Application to Whole Brain R...Deep Hierarchical Profiling & Pattern Discovery: Application to Whole Brain R...
Deep Hierarchical Profiling & Pattern Discovery: Application to Whole Brain R...
 
Detecting anomalies on rotating equipment using Deep Stacked Autoencoders - b...
Detecting anomalies on rotating equipment using Deep Stacked Autoencoders - b...Detecting anomalies on rotating equipment using Deep Stacked Autoencoders - b...
Detecting anomalies on rotating equipment using Deep Stacked Autoencoders - b...
 
Introduction to Autoencoders
Introduction to AutoencodersIntroduction to Autoencoders
Introduction to Autoencoders
 
State of enterprise data science
State of enterprise data scienceState of enterprise data science
State of enterprise data science
 
Long Short Term Memory
Long Short Term MemoryLong Short Term Memory
Long Short Term Memory
 
Deep Feed Forward Neural Networks and Regularization
Deep Feed Forward Neural Networks and RegularizationDeep Feed Forward Neural Networks and Regularization
Deep Feed Forward Neural Networks and Regularization
 
Linear algebra and probability (Deep Learning chapter 2&3)
Linear algebra and probability (Deep Learning chapter 2&3)Linear algebra and probability (Deep Learning chapter 2&3)
Linear algebra and probability (Deep Learning chapter 2&3)
 
HML: Historical View and Trends of Deep Learning
HML: Historical View and Trends of Deep LearningHML: Historical View and Trends of Deep Learning
HML: Historical View and Trends of Deep Learning
 
Secrets behind AlphaGo
Secrets behind AlphaGoSecrets behind AlphaGo
Secrets behind AlphaGo
 
Optimization in Deep Learning
Optimization in Deep LearningOptimization in Deep Learning
Optimization in Deep Learning
 
Introduction to Recurrent Neural Network
Introduction to Recurrent Neural NetworkIntroduction to Recurrent Neural Network
Introduction to Recurrent Neural Network
 
Convolutional neural network
Convolutional neural network Convolutional neural network
Convolutional neural network
 
Introduction to Neural Network
Introduction to Neural NetworkIntroduction to Neural Network
Introduction to Neural Network
 

Recently uploaded

Recently uploaded (20)

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

Cloud-based Storage, Processing and Rendering for Gegabytes 3D Biomedical Images

  • 1. Team XYZ: Yan Xu Yu Zhang
  • 2. Imaging Processing Communications Group A at place A Group B at place B (thousands of miles away) Long distance, Low efficiency
  • 3. Commands Results Group A Group B YX YZ Hadoop
  • 4. • 3D Image Storage: 2D Z slices in jpg • Libraries: HIPI (FloatImage, JPEGFileInputFormat). • Pipeline I (projection, non-overlapping patches): (xy index, FloatImage) 2D Z slices Projected Image non-overlap XY patches projection along z merge to one projected jpg Jpg seq same xy index
  • 5. • Pipeline II (3-D filtering, overlapping patches): (xy index, FloatImage) overlap XY patches 3-D image filtering non-overlap XY patches (z index, FloatImage) merge XY patches Jpg seq named by xy_z.jpg Jpg seq Jpg seq same xy index same Z index 2D Z slices of original 3D image 2D Z slices of processed 3D image
  • 6. 190 jpg sequences for one 3-D image (54.6MB, 1000 × 1000) Cropped into 5 × 5 patches (200 × 200) ) localhost:50030 Max Projection Mean Projection Test 3-D image:
  • 7. Web Terminal Image Window Control Panel Display original 3D image Explore 3D image by slices Zoom in and out Hand move Display processing result
  • 8. Tools O Map-reduce Java Javascript
  • 9.  Compatibility Compatible with ImageJ (open-source Java image processing tool)  Extendibility Upload and run the script by users  Attractiveness More user-friendly interface

Editor's Notes

  1. Our project is motivated from the cooperation conducted among multiple institutions for the biomedical image analysis . Group A is collecting the images using this cool microscope, another group located far away has enough computing power to process the images. Usually the collected images can reach hundred gigabytes or even more and it may takes several days to physically transfer from one place to another using a hard drive. And The imaging group don’t have direct access to view the result and give timely feedbacks to group B. We hope that we can help with this kind of cooperation, and shorten the project cycle.
  2. This is a prototype of our project. Images and stored and processed in cloud. And they can be viewed through a web terminal. We divide the work into two, image processing using map-reduce and web terminal to view the images. We set up single-node hadoop on our local machine and test our implementation there.
  3. First, I’m going to talk about image processing using map-reduce. The 3D images are stored in 2D slices, indexed by z. We developped our implementation based on HIPI, which is a hadoop image processing interface. The two most important classes used is FloatImage and JPEGFileInputFormat. FloatImage is a writable class, and JPEGFileInputFormat is inherited from FileInputFormat to read the jpg sequences. We mainly developped two processing pipelines. The first one is for the kind of image processing that does not require any neighborhood information of pixels. So we crop non-overlap patches from the original slices. For testing the pipeline, we do an image projection along the z direction by taking the max or mean of all pixels. The output of reduce is patches of projected image indexed by xy. Then we read the reduce output file and covert it to jpg, which is the projected image.
  4. The second pipeline is for a type of more general image processing that require the neighborhood information, such as 3-D median filtering and deconvolution. The strategy is to crop the overlap XY patches and keep the correct regions after processing by discarding the borders. The image patch is now the slashed region with the target region in the middle. The first map-reduce is to process the 3-D image patches. We restore the 3-D image patch in the first reduce function and can apply any 3-D image processing to the 3-D images. The second map-reduce is to discard the borders and reorganize the patches to generate 2D z slices of processed images.
  5. Here shows some running result. Our test data is 190 jpg sequences for one 3-D image. Each jpg is 1000 by 1000. We cropped each into 25 200 by 200 patches. We can view the status of the running jobs on hadoop on the webpage and here shows the projection result.
  6. We set up a http server to run our web page. It now mainly has two parts, one is the image window to display the original and processed images and the control panel. Since it’s 3D image, one need to explore it slice after slice using the previous and next. We can zoom in and out and hand move the image. Once push the max button here, it would show up the max-projection result.
  7. These are the tools used. For processing, we develop the map reduce codes in Java with the help of HIPI. For the web terminal, we run apache http server and tried multiple languages.
  8. The project is very interesting and more work can be developped within the current framework. We can consider to be compatible with ImageJ, which is an open-source image processing tool in Java. So that many image processing functions can be easily transferred into clouds. We also hope to extend the application in such a way that the users can upload image processing script themselves. And the last but not the least, the web interface can be more friendly and attractive.