วันศุกร์ที่ 25 มีนาคม พ.ศ. 2559

เมนู Image with ImageJ [ตอนที่ 5], Adjust มาทำความรู้จักกับการปรับค่า Threshold...[T] และอัลกอริทึมการหาค่า Threshold

Threshold  และ Color Threshold


ใช้เครื่องนี้ช่วยในเรื่องของการ segment เพื่อแยกส่วนทีสนใจ ออกจากพื้นหลัง  โดยเครื่องมือนี้มีส่วนการทำงานที่เป็นอัตโนมัติและส่วนของการตั้งค่าตามความต้องการก็ได้ โดยสามารถใช้ร่วมกันกับเมนู Analyze->Measure...[m] เพื่อทดสอบขอบเขตของ Threshold ในเมนู Analyze->Set Measurements... เพื่อตรวจสอบการรวมตัวกันของพื้นที่ที่สนใจ ในส่วนของเมนู Analyze->Analyze Particles... เพื่อวัดจุดเด่น และใช้เครื่องมือ Wand ในการกำหนดขอบเขตของส่วนที่สนใจ



Upper slide  ปรับค่าน้อยสุดของ threshold

Lower slider ปรับค่ามากสุดของ threshold

Method เป็นการเลือกว่า threshold แบบอัตโนมัติ จากอัลกอริทึมแบบต่าง ๆ ซึ่งมีให้เลือกจำนวน 16 แบบ คือ Huang, Intermodes, IsoData, IJ_IsoData, Li, MaxEntropy, Mean, MinError, Minimum, Moments, Otsu, Percentile, RenyiEntropy, Shanbhag, Triangle, Yen

Display เลือกการแสดงผล 3 แบบ คือ
Red แสดงผลด้วยช่องสัญญาณสีแดง
B&W แสดงสีดำบนพื้นหลังสีขาว ซึ่งโหมดนี้สามารถสลับค่าที่ต้องการได้โดยการตั้งค่าได้ที่ Process->Binary->Options...
White แสดงสีขาวในส่วนที่สนใจ
Black แสดงสีดำในส่วนที่สนใจ

Dark background  เปลี่ยนลักษณะของพื้นที่สนใจให้ชัดเจนแตกต่างจากพื้้นหลัง

Original  เป็นการยกเลิกการตั้งค่าทั้งหมด เพื่อเริ่มตั้งค่าใหม่

Filtered แสดงส่วนที่ถูกเลือกตามเงื่อนไขที่ได้กำหนด

Select แสดงขอบบริวเณส่วนที่ถูกเลือก

Sample ใช้การเลือกพื้นที่บนภาพ เพื่อแสดงส่วนตัวอย่างที่เราสนใจ

Stack เป็นการสั่ง process ภาพที่อยู่ใน stack โดยการตั้งค่าแบบเดียวกัน

Macro สร้างมาโคร จากการตั้งค่าปัจจุบัน

Help คำอธิบายเพิ่มเติมเกี่ยวกับการตั้งค่า

วันพฤหัสบดีที่ 24 มีนาคม พ.ศ. 2559

เมนู Image with ImageJ [ตอนที่ 4], Adjust การปรับค่า Color Balance..

Color Balance...



ในหน้าต่างนี้จะเป็นการปรับค่า Brightness และ Contrast ของสีเดี่ยวในแบบ RGB (8-bit ช่อง channel) สำหรับภาพที่เป็น multi-channels เช่น Stacks และ Hyperstacks จะเป็นการปรับค่าแต่ละ color channel ที่เป็นอิสระกัน ใช้ตัวเลือก แบบ drop-down เพื่อปรับค่า แต่ละ channel ซึ่งดูการปรับค่าได้จากฮิสโตรแกรมที่แสดงดานบน

ค่า มากสุด และ น้อยสุด จะแสดงในรูปแบบตัวสไลด์ และปุ่ม Auto, Set , Apply เป็นปุ่มที่ทำหน้าคล้ายกับเมนูในส่วนของ Brightness/Contrast
และหากหน้าต่าง B&C เปิดอยู่ เมื่อเปิด Color Banlnace หน้าต่างจะถูกปิดลงและถูกแทนที่ด้วยในตำแหน่งเดียวกัน เหมือนกับการเปิดเมนู Window/Level...

จุดสังเกต
เมื่อเปลี่ยนสีจะมีผลเมื่อกดปุ่ม Apply ก่อนทำการเปลี่ยนแปลงอย่างอื่น ดังนั้น สำหรับภาพ 48-bit ที่เปิดแบบ stack การปรับค่า Brightness/Contrast...[C] จะเป็นการตั้งค่าสำหรับ single stack slides ค่า สี (color) จะไม่มีผลการเปลี่ยนแปลง

เมนู Image with ImageJ [ตอนที่ 3], Adjust การใช้งานเมนู Window/Level... ความคุมภาพแบบ interactively

Window/Level...



ในหัวข้อก่อนหน้านี้คือเรื่อง Brightness/Contrast...[C] (B&G) จะเป็นการตั้งค่าแบบทั่วไปในการควบคุมความสว่างของภาพ แต่ในส่วนของเมนู Window/Level...(W&L) จะมีความเหมาะสมกับการใช้งานกับภาพประเภทภาพทางการแพทย์ (medical image) ที่ต้องการโต้ตอบของภาพในช่วงของการปรับค่า

จากภาพ ค่า Window เป็นช่วงค่า น้อยสุด และ มากสุด (Contrast)
จากภาพ ค่า Level เป็นช่วงค่า ระดับเทา ค่าความสะอาด (Brightness)

ถ้าหน้าต่าง B&C เปิดอยู่ จะถูกปิดและหน้าต่าง W&L จะถูกเปิดขึ้นมาแทนที่

วันพฤหัสบดีที่ 10 มีนาคม พ.ศ. 2559

เมนู Image with ImageJ [ตอนที่ 2], Adjust เข้าใจ Histogram สำหรับการปรับค่า Brightness, Contrast ให้กับภาพ ด้วย ImageJ

Adjust

ในเมนู Adjust มีเมนูย่อยหลายเมนู ทั้งการปรับค่า brightness/contrast, threshold และ size โดยจะได้เขียนในเรื่องของ  Brightness/Contrast...[C] ก่อน

Brightness/Contrast...[C]
เมนูนี้ใช้แก้ไขค่า brightness และ  contrast สำหรับภาพปัจจุบันที่เลือก

สำหรับภาพ 8-บิต การปรับค่านีจะเป็นการแก้ไขค่าใน lookup table (LUT) ดังน้นค่า pixel จริงจะไม่ได้รับการเปลี่ยนแปลง

สำหรับภาพ 16-บิต และ 32-บิต จะใช้หลักการ mapping pixel เป็น 8-บิต ดังค่าค่า pixel จริงก็คงยังไม่ได้เปลี่ยนแปลง

สำหรับภาพ RGB การเปลี่ยนแปลงจะแก้ไขที่ค่า pixel โดยตรง



Histogram เป็นกราฟเส้นที่อยู่ด้านบนสุดของหน้าต่างแสดงค่าที่เกิดจากการ mapped ค่าสี 8-บิต (0-255) ค่าตัวเลข้านล่างนั้นเป้นค่าต่ำสุด และค่าสูงสุดของของค่า pixel สองค่านี้จะเป็นการกำหนดค่าช่วงของหน้าต่างการแสดงผล ในโปรแกรม ImageJ นี้จะแสดงภาพแบบ linearly mapping ค่าที่แสดงกับค่า pixel จริง ในช่วง 0-255  ค่า pixel ที่น้อยกว่าค่า minimum จะป็นสีดำ ส่วนค่าที่มากกว่าค่า maximum จะะแสดงค่าเป็นสีขาว

Minimum and Maximum sliders ควบคุมช่วงสุดของค่า น้อยสุด และค่ามากสุด ของช่วงที่แสดงผล กดปุ่ม Shift ค้างเอาไว้จะแสดงแสดงผลลัพธ์แบบภาพ composite ยกตัวอย่างภาพ HeLa Cells



ภาพการปรับค่า Minimum and Maximum ไม่กด Shift

ภาพการปรับค่า Minimum and Maximum พร้อมกด Shift


Brightness slider เพิ่ม ลด brightness ด้วยการปรับเลื่อนค่าบนหน้าจอ หากกด Shift ค้างเอาไว้จะแสดงผลลัพธ์แบบภาพ Composite

ภาพการปรับค่า Bright ไม่กด Shift

ภาพการปรับค่า Bright พร้อมกด Shift



Contrast slider เพิ่ม ลด contrast ด้วยการปรับค่าช่วงที่หน้าจอ ด้วยการพิจารณาค่า width ของภาพด้วย หากช่วงค่าแคบ การปรับค่าอาจจะทำให้เกิดค่า contrast ที่มากเกินไป

Auto โปรแกรม ImageJ จะมีส่วนอัตโนมัติของการำกำหนดค่าบนพื้นฐานการวิเคราห์ของฮิสโตแกรม หากเป็นการปรับค่าด้วยการเลือกบางส่วนของภาพการปรับค่า Auto ก็จะพิจารณาแค่ส่วนที่เลือก การปรับปรุงให้มีคุณภาพที่มากขึ้น ด้วยการกำหนดให้ส่วนที่สีอิ่มตัว (จะแสดงสีดำ และสีขาว) แต่ละส่วนคลิกเพิ่ม Auto increases จะได้ค่า saturated pixel ด้วยเหตุนี้จได้ผลลัพธ์ที่ดีขึ้น คำสั่ง run("Enchance Contrast", "saturated=0.35") จะถูกสร้างขึ้นหากมีการเรียกใช้คำสั่งบันทึกมาโคร (Plugin->Macro->Record...)

Reset คืนการเปลี่ยนแปลงค่าทังหมดให้เป็นภาพตาค่าเริ่มต้น คำสั่ง resetMinAndMax() จะถูกสร้างขึ้นหากมีการบันรทึกมาโทครเอาไว้ กดปุ่ม Shift พรอมกับกด Reset จะเป็นการคืนค่าให้กับภาที่ถูกเปลี่ยนเป็น composite

Set  อนุญาตให้ผู้ใช้งานสามารถกำหนดช่วงของฮิสโตแกรม แสดงค่า Minimum และ Maximum ได้ คำสั่ง setMinAndMax() จะถูกสร้างขึ้นหากมีการบันทึกมาโคร

ภาพแบบ 16-บิต ประกอบด้วย 65536 ค่าแบบระดับเทา บ่อยครั้งที่การกำหนดค่าแบบระดับเทาแล้วเกิดช่วงที่แคบของระยะช่วงข้อมูล ยกตัวอย่างภาพที่มีแสงน้อย จะมีช่วงค่าน้อยสุดและมากสุดแคบ สามารถกำหนดช่วงการแสดงผลให้มีป็นช่วงที่กว้างขึ้นโดยการกำหนดจากเมนูนี้ได้

ภาพ

Automatic จะเป็นการปรับช่วงค่าที่ดีที่สุดโดยการพิจารณาจากค่าความสว่างของภาพบนพื้นฐานของเปอร์เซนต์ของจำนวนค่า pixel ที่น้อยสุดไปหามากสุด

8-bit (0-255) Gray level range อยู่ระหว่าง 0-255
10-bit (0-0-1023) Gray level range อยู่ระหว่าง 0-1023
12-bit (0-4095) Gray level range อยู่ระหว่าง 0-4095
15-bit (0-32767) Gray level range อยู่ระหว่าง 0-32767
16-bit (0-65535) Gray level range อยู่ระหว่าง 0-65535

Apply นำค่าที่ได้ตั้งเอาไว้ให้มีผลต่อค่า pixel ของภาพ ถ้าเป็นส่วนของภาพที่เลือกมาบางส่วน จะถูกแก้ไขแค่ส่วนั้นโดยจะมีผลต่อภาพ 8-bit single, 8-bit stacks, RGB นอกน้นโปรแกรมก็จะแจ้งเตือนว่า the pixel data of non-RGB images

วันศุกร์ที่ 4 มีนาคม พ.ศ. 2559

เมนู Image with ImageJ [ตอนที่ 1], Type การแปลง Gray Scale และ RGB Stack และ HSB Stack

Type

ใช้เมนูเพื่อ กำหนดชนิดข้อมูลของภาพปัจจุบัน เป็นชนิดภาพแบบอื่น ๆ รูปแบบของไฟล์ที่ไม่นับสนุนการแปลงชนิดของภาพก็จะมีหน้าต่างแสดงข้อความเหตุผลให้ทราบ

ImageJ สามาถแปลงไฟล์ได้ดังนี้ (ดูได้จากเมนูย่อย) แต่ ImageJ2 จะสนับสนุนชนิดของข้อมูลภาพมากกว่านี้

ขอบคุณภาพจาก ImageJ user guide


8-bit การแปลงภาพระบบเทา 8-บิต โปรแกรม ImageJ จะแปลงภาพ 16-บิต และ 32-บิต ด้วยการเปลี่ยนแปลง สเกลแบบ Linearly โดยมีค่าของพิกเซลของค่ามากสุดและค่าน้อยสุดอยู่ระหว่าง 0-255 ซึ่งจะเป็นค่าของภาพที่เกี่ยวข้องกับเมนู Image->Adjust->Brightness/Contrast...[C] ในส่วนขอเงเมนู Image->Show Info...[i] จะแสดงค่าในรูปแบบของช่วงข้อมูล  ถ้าหากการแปลงค่าไม่สำเร็จ เมื่อค่าการแปลง ไม่ถูกเลือกในตัวเลือกในเมนู Edit->Options->Conversions...  ภาพแบ RGB จะถูกแปลงเป็นภาพระดับเทาโดยใช้สูตร gray=(red+green+blue)/3 หรือ gray=0.299xred+0.587xgreen+0.114xblue

16-bit เป็นการแปลงภาพระดับเทา 16-บิต แบบ unsigned

32-bit เป็นการแปลงภาพระดับเทา 32-บิต แบบ signed floating-point

8-bit Color เป็นการแปลงภาพ indexed แบบ 8-บิต โดยใช้ Heckbert's median-cut color quantization algorithm โดยสามารถกำหนดค่าสีได้ในช่วง 2-256 ภาพที่จะทำการแปลงต้องเป็นภาพแบบ RGB

RGB Color เป็นการแปลงภาพสีแบบ 32-บิต

RGB Stack เป็นการแปลงภาพสี แบบ stack 3 slice (red,green,blue) ภาพที่นำมาแปลงต้องเป็นภาพแบบ RGB

HSB Stack เป็นการแปลงภาพสี แบบ stack 3 slice (hue, saturation, brightness) ภาพที่นำมาแปลงต้องเป็นภาพแบบ RGB

วันอังคารที่ 23 กุมภาพันธ์ พ.ศ. 2559

เมนู Edit with ImageJ [ตอนที่ 13], มา Reset ยกเลิกการตั้งค่าทั้งหมดใน ImageJ เพื่อเริ่มการตั้งค่าใหม่

Reset...



ในหน้าต่านี้จะแสดงการลบไฟล์ preferences (IJ_prefs.txt) เริ่มต้นการตั้งค่าทั้งหมด กลายเป็นค่าเริ่มต้นเหมือนกันเปิด ImageJ ทำงานครั้งแรกหลังติดตั้ง

กด OK หากต้องการ ยกเลิกการตั้งค่าทั้งหมด
กด Cancel ยกเลิกการทำงาน กลับไปใช้การตั้งค่าแบบเดิม

เมนู Edit with ImageJ [ตอนที่ 13], Miscellaneous สำหรับ ImageJ ที่จำเป็นต้องทราบ

Misc...


เป็นหน้าต่างการตั้งค่าการทำงานของโปรแกรมั่วไป

Divide by zero value คำนวณค่าที่หารด้วย 0 จะมีค่าเป็น infinity

Use pointer cursor เมื่อมีการเลือก พอยเตอร์ของเมาส์จะกลายเป็นลูกศร แทนเครื่องหมายเริ่มต้นที่เป็นกากบาท

Hide "Process Stack?" dialog เมื่อประมวลผลภาพจะไม่มีหน้าต่างถามเกี่ยวกับการยืนยันการประมวลผลภาพ เช่น Process all xx slices?

Require control / command key for shortcuts  ควบคุมการทำงานด้วยแป้นพิมพ์

Move isolated plugins to Misc. menu เพิ่มลดขนาดเมนูของ Plugins menu และควบคุมการติดตั้งปลั๊กอิน

Run single instance listener  ถ้ามีการเลือกตัวเลือกนี้จะสามารถเปิดหน้าต่าง ของ ImageJ เพื่อทำงานได้เพียงหน้าต่างเดียวจะไม่สามารถะเปิดซ้อนการทำงาได้

Debug mode ถ้าเลือกตัวเลือกนี้จะแสดงข้อความขณะทำงานด้วย