java fundamentals, part 1mccreedy/senseneyj_public_html/classes/... · medical image processing,...
TRANSCRIPT
![Page 1: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/1.jpg)
Java Fundamentals, Part 1
1
http://mipav.cit.nih.gov
![Page 2: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/2.jpg)
2
MIPAV Team
Employees
Ruida Cheng
William Gandler
Matthew McAuliffe
Evan McCreedy
Justin Senseney
Fellows
Sara Shen
Contractors
Alexandra Bokinsky, Geometric Tools Inc. (Visualization)
Olga Vovk, SRA International Inc. (Technical Writing)
Alumni
Paul Hemler, Agatha Munzon, Nishith Pandya,
David Parsons, Beth Tyriee, Hailong Wang
![Page 3: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/3.jpg)
Medical Image Processing,
Analysis & Visualization
&
JAVA
3
Justin Senseney
Biomedical Imaging Research Services Section (BIRSS)
Imaging Sciences Laboratory
Division of Computational Bioscience
Center for Information Technology
(301) 594-5887
http://mipav.cit.nih.gov
http://dcb.cit.nih.gov/~senseneyj
![Page 4: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/4.jpg)
Mipav Interface
4
•Interface to Java
•Interface to image processing libraries
![Page 5: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/5.jpg)
Java Steps
5
•Methods
•Comments
•Printing
•Data types
•Equality
•If
•Loops
•Switch
![Page 6: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/6.jpg)
Method
6
private void init() {
setForeground(Color.black);
setTitle("Generic Plugin 5.4.2");
try {
setIconImage(MipavUtil.getIconImage("divinci.gif"));
} catch (FileNotFoundException e) {
Preferences.debug("Failed to load default icon", Preferences.DEBUG_MINOR
}
……
Visibility
Return type
![Page 7: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/7.jpg)
Comments (1)
7
private void init() {
setForeground(Color.black);
/*setTitle("Generic Plugin 5.4.0");
try {
setIconImage(MipavUtil.getIconImage("divinci.gif"));
} catch (FileNotFoundException e) {
Preferences.debug("Failed to load default icon", Preferences.DEBUG_MINOR
}*/
……
![Page 8: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/8.jpg)
Comments (2)
8
private void init() {
//setForeground(Color.black);
setTitle("Generic Plugin 5.4.2");
try {
setIconImage(MipavUtil.getIconImage("divinci.gif"));
} catch (FileNotFoundException e) {
Preferences.debug("Failed to load default icon", Preferences.DEBUG_MINOR
}
……
CTRL+shift+C when all lines are highlighted
![Page 9: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/9.jpg)
Print data
9
private void init() {
System.out.println(“Hello world”);
……
Shown in console
![Page 10: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/10.jpg)
Data types
10
private void init() {
int a = 16;
double b = 16.0;
String str = " test ";
boolean isEqual = false;
System.out.println(a+str+isEqual);
![Page 11: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/11.jpg)
Equality
11
private void init() {
int a = 123;
int b = 321;
boolean isEqual = (a == b);
boolean isEqual2 = (a != b);
System.out.println("A: "+a + "B: " + b + isEqual + isEqual2);
![Page 12: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/12.jpg)
Usability
12
private void init() {
String str = " test ";
String str2 = " te2st ";
boolean isEqual = (str == str2); //Are these two equal?
boolean isEqual2 = (str != str2); //Are these two different?
System.out.println(str+str2+" Equal: "+isEqual+" Not equal: "+isEqual2);
![Page 13: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/13.jpg)
Review
• Method
• Comments
• Print data
• Data types
• Equality
13
![Page 14: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/14.jpg)
Method – make your own
14
private int myAddMethod(int initial) {
initial = initial + 1;
return initial;
}
private void init() {
int a = 10;
int b = myAddMethod(a);
System.out.println("A: "+a+" B: "+b);
Visibility Return type Input
![Page 15: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/15.jpg)
If statement
15
private int myAddMethod(int initial) {
if(initial < 10) {
initial = initial + 1;
} else {
initial = initial + 2;
}
return initial;
}
![Page 16: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/16.jpg)
Else If statement
16
private int myAddMethod(int initial) {
if(initial < 10) {
initial = initial + 1;
} else if(initial >= 10) {
initial = initial + 2;
}
return initial;
}
![Page 17: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/17.jpg)
While loop
17
private int myAddMethod(int initial) {
while(initial < 100) {
initial = initial + 1;
}
return initial;
}
Boolean ending condition
![Page 18: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/18.jpg)
For loop
18
private int myAddMethod(int initial) {
for(int i=initial; i < 100; i++) {
System.out.println(i);
}
return initial;
}
Loop’s private variable
![Page 19: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/19.jpg)
For loop
19
private int myAddMethod(int initial) {
for(int i=initial; i < 100; i++) {
System.out.println(i);
}
return initial;
}
Action occurs at end of each iteration
![Page 20: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/20.jpg)
For loop
20
private int myAddMethod(int initial) {
for(int i=initial; i < 100; i++) {
System.out.println(i);
}
return initial;
}
Boolean variable checked before each iteration
![Page 21: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/21.jpg)
For loop quiz
21
private int myAddMethod(int initial) {
for(int i=initial; i < 100; i++) {
initial = initial + i;
}
return initial;
}
Given initial = 10
What is final value of initial?
![Page 22: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/22.jpg)
Switch/case
22
private int myAddMethod(int initial) {
switch(initial) {
case 1:
case 2:
case 3:
initial = 4;
break;
default:
initial = initial+1;
break;
}
return initial;
}
Break shows to exit switch
![Page 23: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/23.jpg)
Review
• Creating methods
• If/Else if
• While
• For
• Switch/case
23
![Page 24: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/24.jpg)
Quiz 1 - Evaluate
24
private boolean myMethod(int initial) {
if(initial < 100) {
return true;
} else {
return false;
}
}
private void init() {
boolean a = myMethod(99);
System.out.println(a);
System.out.println(myMethod(101));
System.out.println(myMethod(100));
![Page 25: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/25.jpg)
Quiz 2 - Evaluate
25
private int myMethod(int initial) {
int done = 0;
for(int i=0; i<=initial; i++) {
done = done + i;
}
return done;
}
private void init() {
System.out.println(myMethod(10));
System.out.println(myMethod(0));
System.out.println(myMethod(-1));
![Page 26: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/26.jpg)
Quiz 3 - Evaluate
26
private int myMethod(int initial) {
if(initial < 0) {
return 0;
} else {
return initial+myMethod(initial-1);
}
}
private void init() {
System.out.println(myMethod(1));
System.out.println(myMethod(2));
System.out.println(myMethod(10));
System.out.println(myMethod(-1));
![Page 27: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/27.jpg)
Task - Write
27
• Method to compute average of two numbers
• Method to print out whether a number is even
• Method with infinite loop
![Page 28: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/28.jpg)
Summary
• Java primitive types
• Java loops
• Java methods
• Fundamentals
28
![Page 29: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/29.jpg)
Next time
• Java arrays
• Java API
• MIPAV API
29
![Page 30: Java Fundamentals, Part 1mccreedy/senseneyj_public_html/classes/... · Medical Image Processing, Analysis & Visualization & JAVA 3 Justin Senseney SenseneyJ@mail.nih.gov Biomedical](https://reader034.vdocument.in/reader034/viewer/2022042200/5e9fd419d4b8f74e0d488cee/html5/thumbnails/30.jpg)
30
Visualization
File reader Quantification
File writer
Processing Macros