วันศุกร์ที่ 27 กุมภาพันธ์ พ.ศ. 2558

เครื่องมือ Angle Tool with ImageJ

Angle Tool



              เป็นเครื่องมือที่อนุญาตให้วัดค่ามุม ด้วยการกำหนดจุด 3 จุด หากดับเบิลคลิกที่ไอคอนเครื่องมือ angle ก็จะสามารถกำหนดค่าเป็นมุม reflex angles (มุมกลับ) เวลาวาดขนาดของมุมจะแสดงบริเวณของ Status bar ขณะทำการวาดสามารถบันทึกค่าของมุมที่วาดด้วยการกดปุ่ม M (Analyze Measure) และจะมีการบันทึกค่าเอาไว้ที่ตาราง Results

หน้าต่างการตั้งค่ามุมกลับ (reflex angles)

ตาราง Result สามารถแสดงข้อมูลมุมที่บันทึกเอาไว้ได้

วันจันทร์ที่ 16 กุมภาพันธ์ พ.ศ. 2558

Line Selection Tools with ImageJ

ใช้เครื่องมือในการเลือกด้วยเส้นตรง มีรูปแบบสำหรับการเลือกอยู่ 4 รูปแบบที่ซ่อนเอาไว้ในเมนูเดียวกัน เปลี่ยนด้วยการคลิกขวาที่เมนูเพื่อเลือกที่เมนูย่อย และเปลี่ยนรูปแบบเส้น

ทำการดับเบิลคลิกที่เครื่องมือเพื่อกำหนดค่าหรือไปที่เมนู Image->Adjust-.Line Width...


1. Straight Line Selection Tool




การวาดด้วยเครื่องมือนี้ขณะที่ทำการวาด จะแสดงความยาว และมุมของการวาดที่ Status Bar โดยมีตัวเลือกขณะการวาดร่วมกับคีย์บอร์ดดังนี้

Shift  =  เป็นการวาดเส้นตรงในแนวเส้นตรงแนวตั้ง และ เส้นตรงแนวนอน

Alt  =   ปรับขนาดเส้นหลังจากวาดแล้ว

Ctrl  =  วาดโดยยึดจุดศูนย์กลางด้วย


2. Segmented Line Selection Tool




วาดด้วยการคลิกสร้างจุดใหม่ไปเรื่อย ๆ และเมือวาดเสร็จสามารถดับเบิลคลิกเพื่อสิ้นสุดการวาด และสามารถวาดร่วมกับปุ่มได้ดังนี้ หลังจากวาดเสร็จสามารถเพิ่มและลดจุดได้ดังนี้

Shift  =  เพิ่มจุด

Alt  =  ลบจุด


3. Freehand Line Selection Tool




เป็นการวาดด้วยมืออย่างอิสระตามความต้องการ


4. Arrow Selection Tool




สามารถวาดโดยคลิกเลือกลูกศร ใช้ร่วมกับปุ่ม Shift สำหรับการวาดเส้น ที่เป็นเส้นตรง หรือทแยงแนว 45 องศา


วันเสาร์ที่ 14 กุมภาพันธ์ พ.ศ. 2558

เครื่องมือการเลือกพื้นที่ with ImageJ

1.  Rectangular Selection Tool
ตำแหน่ง ความกว้าง ความสูง และสัดส่วน จะแสดงที่ Status Bar ขณะที่ทำการวาด

ปุ่มที่ทำงานร่วมกัน
Shift = เลือกเป็นสี่เหลี่ยมจัตุรัส
Alt = ปรับเปลี่ยนขนาดหลังการวาดครั้งละ 1 พิกเซล ใช้ร่วมกลับปุ่มลูกสร
Ctrl = ปรับเปลี่ยนขนาดโดยระบุจุดศูนย์กลางจากตำแหน่งที่เมาส์เลือก

2. Rounded Rectangular Selection
เป็นการวาดคล้ายกับ Rectangle  แต่สามารถปรับแต่งค่าความมนโค้งของรูปสี่เหลี่ยมที่วาดได้ด้วยการดับเบิลคลิกที่ไอคอน ดังรูปด้านล่าง



3. Oval Selection Tool
ตำแหน่ง ความกว้ง ความสูง สัดส่วน จะแสดงที่ Status Bar ในขณะที่วาด และสามารถใช้ร่วมกับปุ่มต่อไปนี้ได้
Shift = ให้วาดเป็นวงกลม
Alt = หลังวาดปรับเปลี่ยนขนาดได้ครั้งละ 1 พิกเซลใช้ร่วมกับปุ่มลูกศร
Ctrl = ระบุจุดศูนย์กลาง

4. Eliptical Selection Tool
เป็นการวาดวงรีและสามารถปรับเปลี่ยนตำแหน่งของวงรีได้

5. Brush Selection Tool
ใช้ร่วมกับการวาดแบบอื่น ๆ หลังจากวาดเสร็จ เช่น วงกลม หรือสี่เหลี่ยม สามารถเอาเครื่องมือในี้ไปวาดบนรูปร่างที่ได้วาดเอาไว้แล้ว ซึ่งสามารถวาดพร้อมกับปุ่มต่อไปนี้
Shift = ต้องการวาดแบบเพิ่มการเลือก
Ctrl = ต้องการวาดแบบลดการเลือก

6. Polygon Selection Tool
การวาดรูปหลายเหลี่ยม สามารถวาดพร้อมกับปุ่ม Shift ได้เพื่อเพิ่มจุดในการวาด ซึ่งจะช่วยควบคุมการวาดได้ดีขึ้น

7. Freehand Selection Tool
เป็นการวาดที่โปรแกรมจะวาดส่วนสุดท้ายให้อัตโนมัติ ในการวาดรูป

การใช้งาน Status Bar และ Progress Bar with ImageJ

Status Bar

ตำแหน่งของ Status Bar นั้นจะสามารถบอกอะไรได้หลาอย่าง ยกตัวอย่างเช่นหากเปิดภาพขึ้นมาแบบธรรมดา เวลาเลื่อนเมาส์ผ่านภาพที่เปิดขึ้นมา ตำแหน่ง Status bar ก็จะแสดงตำแหน่ง x,y และค่าสีด้วย




หรือหากเป็นการประมวลผลอยู่ เช่นหลักคลิกเลือก Filter ให้ทำงานก็จะแสดงเวลาการทำงาน ให้เห็น คำนวนจากหน่วย pixels/second นอกจากนี้ยังสามารถสถานะการใช้หน่วยความจำของเครื่องได้ด้วยการคลิกที่ Status bar




โปรแกรมก็จะแสดง java version, memory in use, memory available และ percent memory used



หากเป็นการใช้เครื่องมือ Selection ก็จะแสดงข้อมูลการเลือก เช่น location, width เป็นต้น

นอกจากนี้การคลิกที่ Status bar ยังเป็นการเรียนกใช้งาน Java garbage collector ด้วย เพื่อให้เรียกคืนหน่วยความจำที่ไม่ได้ใช้วานแล้ว (Edit->Options->Memory & Threads ...)



นอกจากนั้นยังสามารถดูการใช้งานหน่วยความจำได้จาก Plugins->Utilities->Monitor Memory... ก็ได้



Progress bar

ในส่วนของการทำงานของ Progress Bar นั้นจะแสดงรายละเอียดการทำงานของเวลา ประมาณการเวลาในการประมวลผล แต่หากเวลาในกากรประมวลผลน้อยกว่า 1 วินาที ในส่วน Progress bar ก็จะไม่สดงผล

ImageJ User Interface

หน้าจอการทำงานของโปรแกรม ImageJ นั้นไม่เหมือนกับโปรแกรม Image Processing อื่น ๆ เนื่องจากโปรแกรมเป็นลักษรณะของหน้าต่างที่แยกกัน สามารถจัดวางตำแหน่ง ต่าง ๆ ด้ทั่วของจอภาพ และมีชุดคำสั่งบนหน้าต่างเดียวกัน ซึง่ประกอบด้วย ส่วนของเมนู status bar และ progress bar ดังภาพประกบด้านล่าง




1. เครื่องมือการเลือกแบบสี่เหลี่ยม
2. เครื่องมือการเลือกแบบวงรี วงกลม
3. เครื่องมือการเลือกแบบหลายเหลี่ยม
4. เครื่องมือการเลือกแบบเส้นวาดอิสระ
5. เครื่องมือการเลือกแบบเส้นตรง เส้นวาด และลูกศร
6. เครื่องมือมุม
7. จุด และ หลายจุด
8. เครื่องมือการเลือกแบบอัตโนมัติ
9. เครื่องมือข้อความ
10. การขยาย
11. แถบเลื่น
12. สี
13. เมนูเพิ่มเติม
A-H เป็นเมนูแล้วต่เครื่องที่มีการติดตั้งเอาไว้อาจจะมากหรือน้อยขึ้นอยู่กับการติดตั้ง


Toolbar 
การใช้งานเครื่องมือของ ImageJ มีหลักการที่ต้องรู้จักดังนี้

1. เครื่องมือที่มีูปลูกศรเล็ก ๆ ร่วมอยู่ด้วย แสดงว่ามีเมนูหลายตัวที่ซ่อนอยู่ภายใต้เมนูเดียวกัน สามารถเลือกเมนูอื่น ๆ ด้วยการคลิกขวาที่เมนูนั้น แล้วจะแสดงรายละเอียดของเมนูย่อยที่สามารถเลือกได้แสดงขึ้นมา ดังภาพด้นาล่าง 








2. ทุก ๆ เครื่องมือ สามารถตั้งค่าการใช้งานได้หรือการเรียนกหน้าต่าง Option ขึ้นมาตั้งค่าในการใช้งานเพื่ใอห้เป็นไปตามรูปแบบที่เราต้องการใช้งานมากที่สุด ด้วยการคลิก 2 ครั้งที่เครื่องมือนั้น ดังภาพตัวอย่างด้านล่าง จากตัวอย่งเป็นภาพการตั้งค่าของเครื่องมือ Wand Tool


การรัน ImageJ ด้วย Command Line

"file-name" เปิดไฟล์ยกตัวอย่างเช่น:
        blobs.tif
        /Users/wayne/images/blobs.tif
        e81*.tif

-ijpath เปิด imagej พร้อมระบุที่เก็บ plugins:
        -ijpath /Applications/ImageJ

-port เปิด imageJ พร้อมระบุ instant:
        -port1 (use default port address + 1)
        -port2 (use default port address + 2)
        -port0 (do not check for another instance (OtherInstance)

-macro พร้อมระบุเส้นทางของ macro:
        -macro analyze.ijm
        -macro analyze /Users/wayne/images/stack1

-batch เปิดแบบไม่มีหน้าตาโปรแกรม (GUI)

-eval "macro code"     เปิดพร้อมเรียกใช้ Macro ที่ระบุ
                         -eval "print('Hello, world');"
                         -eval "return getVersion();"

-run รันเฉพาะคำสั่งในโปรแกรม ImageJ
                         -run "About ImageJ..."


-debug รันโปรแกรมใน debug mode.

Plugins with ImageJ

Plugins

Plugins เป็นรูปแบบการใช้งานที่มีประสิทธิภาพมากกว่า Macro และ Script โดยส่วนมากแล้ว plugins จะมีการสร้างชุดของเมนูเอาไว้ที่หน้าต่างหลักของโปรแกรม ImageJ

ข้อดีและข้อด้อยของ Javascript ใน ImageJ เปรียบเทียบความแตกต่างระหว่าง javascript ที่มีให้บริการของ Fiji webpage.

ข้อดี
1. สามารถเข้าถึง ImageJ และ Java APIs
2. มีความเป็นมาตรฐาน
3. ความสามาถของ Richer language

ข้อเสีย
1. ทำงานได้ช้า
2. มีความแตกต่งจาก macro
3. ไม่สามารถใช้งาน ฟังชั่นมากกว่า 360+ ของมาโครได้
3. ต้องความซับซ้อนกว่า ImageJ และ การเขียนโปรแกรมด้วยภาษา Java
4. ไม่สนับสนุนการทำงานแบบ Batch mode
5. ไม่สามารถสร้างเมนูได้ในตัวโปรแกรม ImageJ ได้
6. ไม่สามารถทำงานร่วมกับ Function Finder ในหน้าต่าง macro Editor ได้
7. ไม่มี debugger ซึ่งช่วยในการหาข้อผิดพลาดในการเขียนโปรแกรม

plugins เขียนได้ภาษา Java classes และสามารถใช้ความสามารถอย่างเต็มรูปแบบของภาษาจาวาได้ และสามารถเข้าถึงคำสั่งของ Java API ได้ทั้งหมด และสามารถใช้คำสั่งมาตรฐานและ third-party ของ java API ได้

โดยทั่วไปแล้วมักจะใช้ plugins ในการเขียนคำสั่งเพื่อวิเคราะห์ภาพ หรือ เกี่ยวกับ I/O plugins ในการอ่านและเขียนไฟล์ นอกจากนั้นยังสามารถ rendering graphic หรือ การสร้างส่วนเพิ่มเติมให้กับหน้าตาโปรแกรม ImageJ ได้ด้วย

Plugins ในไดเรกทอรี่ ImageJ/plugins ในโฟลเดอร์นี้จะเป็นแสดงผ่านโปรแกรมได้จากเมนู Plugins->menu ในโฟลเดอร์นี้จะต้องเก็บไฟล์ที่เป็น .jar หรือ .class เท่านั้น

ข้อมูลเกี่ยวกับการพัฒนา ImageJ Plugins

1. Developer Resources Page on the ImageJ website (Help . Dev. Resources. . . ):
http://imagej.nih.gov/ij/developer/index.html
2. Dedicated tutorials on Fiji’s webpage:
http://fiji.sc/wiki/index.php/Introduction_into_Developing_Plugins
3. Dedicated tutorials on the ImageJ Documentation Portal:
http://imagejdocu.tudor.lu/
4. Dedicated tutorials on the ImageJDev webpage:
http://developer.imagej.net/ides