Match!

คู่มือการใช้งาน Match! 3.9 เบื้องต้น

GUI ของหน้าต่างหลัก

หน้าต่างหลักแบ่งเป็น 5 ส่วนดังแสดงในรูปที่ 1 ดังนี้
1. Menu tab สำหรับการเรียกหน้าต่าง และตัวเลือกต่าง ๆ และ icon tab สำหรับหน้าต่าง หรือตัวเลือกที่ใช้งานบ่อย นอกจากนั้นหน้าต่างและตัวเลือกที่ใช้งานบ่อยยังมีอยู่ใน context menu (รูปที่ 2) ซึ่งสามารถเรียกได้โดยการคลิกขวาในส่วนที่ 2 ของหน้าต่างหลัก
2. ส่วนสำหรับแสดง pattern โดย default จะแสดงข้อมูลทั้งช่วง และสามารถดูช่วงที่สนใจได้โดยการ
 a. คลิกซ้ายและลากเพื่อสร้างกรอบของ area ที่ต้องการ zoom เข้าไป
 b. คลิกซ้ายสองครั้งเพื่อ zoom out ออกมาที่ full range
 c. กด ค้างให้ cursor เปลี่ยนเป็น icon มือ เพื่อเลื่อน pattern ไปทางซ้ายหรือขวา
 d. ใช้ scroll wheel ของ mouse เพื่อ zoom in ที่ตำแหน่งของ cursor
3. ส่วนสำหรับแสดง list ของ candidate entry (phase) ที่ขึ้นมาเมื่อ run Search-Match โดยเรียงลำดับตามค่า FoM (Figure of Merit) ของแต่ละ entry ซึ่งค่า FoM แสดงถึงความใกล้เคียงกันระหว่าง pattern ของ entry นั้นกับข้อมูลจากการทดลอง โดยถ้า pattern มีค่าเข้าใกล้ 1 แสดงว่ามีความใกล้เคียงมาก
4. ส่วนแสดงเงื่อนไขการแสดง list ของ candidate entry สำหรับกรองจำนวน entry ตามข้อมูลเบื้องต้นของโครงสร้างที่มี ได้แก่
 a. Composition สำหรับการระบุธาตุที่ต้องมีหรือไม่มีในโครงสร้าง
 b. Structure สำหรับการระบุ crystal system ที่เป็นไปได้ หรืออาจจะระบุ space group และช่วงของค่า lattice constant ที่เป็นไปได้ด้วยก็ได้
 c. Properties สำหรับคุณสมบัติทั่วไป เช่น สี ความหนาแน่น
 d. Peaks/Ranges ในกรณีที่ต้องการผล Search-Match เฉพาะบางช่วงมุม
 e. References ในกรณีที่ต้องการเปรียบเทียบ pattern จากผลการทดลองกับ entry ที่ทราบ
5. ส่วนสำหรับแสดง list ของ entry ที่เลือก รวมทั้ง semi-quantitative weight percent ระหว่างแต่ละ entry ที่เลือก

รูปที่ 1 แสดง 5 ส่วนสำคัญในหน้าต่างหลักของโปรแกรม


รูปที่ 2 แสดง Context menu ประกอบไปด้วยตัวเลือกที่ใช้งานบ่อยใน 6 กลุ่ม ได้แก่

กลุ่มที่ 1 เกี่ยวข้องการแสดงผล และการจัดการ file
กลุ่มที่ 2 เกี่ยวข้องกับการ zoom in/zoom out pattern
กลุ่มที่ 3 เกี่ยวข้องกับการ display ข้อมูลต่าง ๆ จากผลของการ process และทำ Search-Match
กลุ่มที่ 4, 5 เกี่ยวข้องกับการทำงานในขั้นตอนการ process และ Search-Match และ
ส่วนที่ 6 เกี่ยวข้องกับการปรับรูปแบบการแสดงผล pattern

การตั้งค่าเริ่มต้น

เมื่อเปิดโปรแกรมขึ้นมาครั้งแรก default setting ของ User level จะเป็น beginner ซึ่งหมายความว่า โปรแกรมจะ run 5 ขั้นตอนโดยอัตโนมัติ
1. เรียก dialog box สำหรับการ import ข้อมูลจากการทดลอง
2. เมื่อ import ข้อมูลเข้ามาโปรแกรมจะ process ข้อมูลเบื้องต้น ได้แก่ การหา background และตำแหน่ง peak ของ pattern
3. โปรแกรมจะนำตำแหน่ง peak ไปหาเทียบกับข้อมูลจาก database (entry) โดยใช้วิธี Search-Match เพื่อหา entry ที่ใกล้เคียงกับข้อมูลจากการทดลองมากที่สุด
4. โปรแกรมจะเลือก entry นั้นให้
5. ถ้ามีการ edit peak เช่น ย้ายตำแหน่ง เพิ่ม หรือลด peak ที่บางตำแหน่ง โปรแกรมจะ run Search-Match ใหม่เพื่อเลือก entry ที่ใกล้เคียงกับข้อมูลจากการทดลองมากที่สุดอีกครั้ง
การเลือก user level เป็น beginner นั้นสะดวกในการใช้งานเนื่องจากโปรแกรมจะ flow ไปตามขั้นตอนการทำ phase identification เองทำให้ผู้ใช้ไม่ทำผิดขั้นตอน อย่างไรก็ตามในกรณีที่ข้อมูลมี background ไม่เรียบ หรือมี noise มาก การใช้ default parameter อาจจะได้ผลไม่ถูกต้อง ในกรณีนี้จะต้องปรับ user level เป็น Expert โดยเข้าไปที่ Options >> Batch options เพื่อเปิดหน้าต่าง Batch options ดังแสดงในรูปที่ 3 เลือก user level จาก dropdown menu เป็น ‘Expert’ ซึ่งใน level นี้ผู้ใช้จะต้อง process ข้อมูลทีละขั้นตอนเอง นอกจากนั้นในหน้าต่าง Batch options ผู้ใช้ยังสามารถเลือกได้เองว่าจะให้ขั้นตอนใดทำไปโดยอัตโนมัติ เมื่อเลือกแล้วก็ tick ในกล่อง ‘Save as defaults’ เพื่อให้โปรแกรมคง setting นี้ไว้เมื่อเปิดโปรแกรมครั้งต่อ ๆ ไป

รูปที่ 3 หน้าต่าง Batch options สำหรับเลือกขั้นตอนที่จะให้โปรแกรมทำโดยอัตโนมัติ โดยสามารถเลือกจาก preset ที่ ‘User level’ dropdown menu หรือเลือกแต่ขั้นตอนเองโดย tick ที่กล่องหน้าคำอธิบายขั้นตอนนั้นแล้ว save preset ใหม่จาก ‘Save current batch settings as…’

การ import ข้อมูล

การ import ข้อมูลจากการทดลองสามารถทำได้โดยเลือก File >> Import >> Diffraction data หรือเลือก icon เครื่องหมายบวกที่มุมขวาบนของส่วนที่ 2 ของหน้าต่างหลัก (รูปที่ 1) โดยเมื่อเลือกแล้วโปรแกรมจะเปิด dialog box เพื่อเลือกไฟล์ และหน้าต่าง Set Experimental Detail (รูปที่ 4) ซึ่งใส่ข้อมูลชนิดของ radiation ที่ใช้ ความยาวคลื่น และ x scale ในข้อมูลให้ถูกต้อง นอกจากนั้นยังสามารถ import มากกว่า 1 pattern เพื่อเปรียบเทียบกันโดย pattern ที่เพิ่มเข้ามาจะอยู่ด้านบนของ pattern ก่อนหน้าและ icon เครื่องหมายบวกจะเปลี่ยนเป็น icon สำหรับการจัดการ pattern ทั้งหมดที่นำเข้ามา

รูปที่ 4 หน้าต่างสำหรับใส่ Experimental detail ในขั้นตอนการ import ข้อมูลจากการทดลอง

Workflow สำหรับการทำ phase identification

1. Process ข้อมูลที่ได้จากการทดลองเพื่อให้ได้ข้อมูลตำแหน่ง และความสูงของ peak
2. เปรียบเทียบข้อมูลจากการทดลองกับ entry ใน database และเลือก entry ที่มีความใกล้เคียงกับ pattern จากผลการทดลองมากที่สุด โดยพิจารณาจากค่า FoM และการนำ pattern มา plot เทียบกัน
3. เลือก entry ที่ใกล้เคียงที่สุด และเพิ่ม entry ไปเรื่อย ๆ จนสามารถ label peak หลักทั้งหมดได้
4. สร้าง report ที่แสดงค่า weight percent ของแต่ละ phase

รายละเอียดของแต่ละขั้นตอนมีดังนี้

การ process ข้อมูล
การ process ข้อมูลเริ่มจากการหา background function จากนั้นก็หาตำแหน่งและความสูงของแต่ละ peak รูปที่ 5 แสดง background function (เส้นสีส้ม) ที่สร้างด้วยโปรแกรม Match! ซึ่งมีลักษณะเป็น spline เชื่อมกันด้วย background control point โดยผู้ใช้สามารถเพิ่ม/ลด หรือปรับตำแหน่งของ background control point เพื่อปรับเปลี่ยนลักษณะของ background function ได้โดย
 - วาง cursor ที่เส้น background ให้ cursor เปลี่ยนเป็น และคลิกซ้ายเพื่อเพิ่ม background control point ที่ตำแหน่งนั้น
 - วาง cursor ที่ background control point ให้ cursor เปลี่ยนเป็น คลิกซ้ายและลากเพื่อปรับตำแหน่งของ background control point หรือคลิกขวาเพื่อลบ background control point นั้น
นอกจากนั้นยังสามารถปรับปรับความโค้งของ background function โดยเพิ่มค่า background flexibility (รูปที่ 6) หรือใช้ shortcuts หรือ เพื่อเพิ่มหรือลด background flexibility ตามลำดับ
เมื่อได้ background function แล้วก็หาตำแหน่ง peak แบบอัตโนมัติ โดยการเลือก จาก icon tab หรือเลือก Peak >> Peak Search จาก menu tab หรือ อย่างไรก็ตามการ run peak search อาจได้ peak ไม่ครบ หรือ peak มากเกินไป สามารถแก้ไขโดยการปรับค่า sensitivity จากหน้าต่าง raw data (รูปที่ 6) หรือเพิ่มลด peak แบบ manual ดังแสดงในรูปที่ 7

รูปที่ 5 แสดง background function และ background control point

รูปที่ 6 แสดงหน้าต่างสำหรับการปรับตัวแปรสำหรับการ process ข้อมูล

รูปที่ 7 แสดงการเพิ่มและปรับตำแหน่ง peak แบบ manual

เมื่อได้ตำแหน่ง peak ทั้งหมดตามที่ต้องการ ก็ให้โปรแกรมทำการ optimized profile ที่ได้ให้มีค่าใกล้เคียงกับข้อมูลจากการทดลอง โดยการเลือกจาก icon tab (รูปด้านล่าง) ว่าต้องการจะ optimize อะไรบ้าง

- [2] เลือกว่าต้องการ optimize ตำแหน่ง peak หรือไม่
- [3] เลือกว่าต้องการ optimize ค่า intensity ของ peak หรือไม่
- [4] เลือกว่าต้องการ optimize ค่า FWHM ของ peak หรือไม่
- และสุดท้ายกด [1] เพื่อทำ optimization
ความเหมือนกันระหว่าง pattern จากการทดลองกับ calculated profile ดูได้จากค่า R factor ของ calculated profile หรือ % Rp แสดงที่มุมบนขวาของหน้าต่างในรูปที่ 7 โดยปกติ profile ที่ใช้ได้ควรมีค่า Rp ใกล้เคียง 10% หรือน้อยกว่า

การเปรียบเทียบข้อมูลจากการทดลองกับ entry ใน database
เมื่อได้ calculated profile แล้วก็สามารถเริ่มขั้นตอน phase identification ได้โดยการเลือก Run Search-Match จาก icon tab ดังแสดงในรูปที่ 8 Candidate list ที่สร้างจาก Search-Match จะแสดงที่ช่องด้านล่างของ pattern โดยเรียงตามค่า FoM ซึ่งเป็นค่าที่บ่งบอกความเหมือนระหว่าง calculated profile กับ pattern ที่สร้างจาก entry นั้น โดยคำนวณจาก
1. ผลต่างของ peak intensity ของ peak ที่ตรงกัน ระหว่าง pattern ที่สร้างจาก entry และ calculated profile
2. ผลต่างระหว่างจำนวน peak ที่ตรงกัน ระหว่าง pattern ที่สร้างจาก entry และ calculated profile กับจำนวน peak ทั้งหมดของ calculated profile
3. ผลต่างระหว่างจำนวน peak ที่ตรงกัน ระหว่าง pattern ที่สร้างจาก entry และ calculated profile กับจำนวน peak ที่มีใน pattern ที่สร้างจาก entry แต่ไม่มีใน calculated profile
4. ค่าของ intensity scaling factor ที่ใช้
รูปที่ 8 แสดงการใช้ฟังก์ชั่น Search-Match ในขั้นตอนการทำ phase identification

เมื่อได้ entry ใน candidate list ที่ตรงตามที่ต้องการ สามารถ highlight entry นั้นแล้วกด spacebar, double click ที่ entry นั้น หรือ highlight ที่ entry นั้นแล้วเลือก จาก icon tab เพื่อ accept entry นั้น จากนั้นโปรแกรมจะนำ entry ที่เป็น phase เดียวกับ entry นั้นออก และสร้าง candidate list ใหม่ที่สอดคล้องกับ peak ที่ไม่ตรงกับ entry ที่ accept ไปแล้วดังแสดงในรูปที่ 9 จากนั้นผู้ใช้สามารถ accept entry เพิ่มเติม จนระบุ peak หลักใน pattern จากการทดลองได้ครบ โดยสามารถเลือก option เพื่อ highlight peak ที่ยังไม่มีใน entry ที่ accept แล้ว (รูปที่ 10) เพื่อให้มองเห็น phase ที่ยังขาดไปได้ชัดเจนขึ้น นอกจากนั้นเมื่อเพิ่ม entry มากกว่า 1 entry โปรแกรมจะทำการคำนวณหา weight percent ของแต่ละ entry ดังแสดงใน รูปที่ 10 และ รูปที่ 11 จาก RIR (Reference Intensity Ratio) method ซึ่งจากอ้างอิงความสูงของแต่ละ phase เทียบกับ ความสูงของ pattern ของ Corundum (I/IC) ซึ่งเป็นวิธีแบบ semi-quantitative แต่ก็สามารถคำนวณได้เร็ว และให้ผลที่แม่นยำพอสมควร อย่างไรก็ตามข้อมูลที่ได้อาจจะคลาดเคลื่อนเยอะถ้าการวัดมี preferred orientation และไม่สามารถใช้ได้เลยถ้า entry ที่เลือกไม่มีข้อมูล I/IC มาด้วย
รูปที่ 9 แสดงหน้าต่างหลักของโปรแกรมเมื่อยอมรับ entry แรก (Calcite) และ run Search-Match อีกครั้งเพื่อสร้าง candidate list ใหม่และเลือก entry ที่สอง (Quartz) เพื่อแสดงผล

รูปที่ 10 แสดง uncorrelated peaks ซึ่งเป็น peak ที่ไม่มีใน entry ที่ accept ไปแล้ว

รูปที่ 11 แสดงผลการวิเคราะห์ข้อมูลเมื่อเลือก entry จนครบ


Report และ output ของโปรแกรม
หลังจากที่สามารถระบุ peak หลักได้ครบแล้ว สามารถสร้าง report สำหรับ result เพื่อแสดงผลการ match ในเชิงปริมาณได้โดยเลือกที่ icon menu ดังแสดงในรูปที่ 12 และบันทึก report เป็น pdf (รูปที่ 13) โดยการกดปุ่ม ‘save’ ซึ่งจะได้ข้อมูลที่สำคัญ ได้แก่
- Sample Data แสดงรายละเอียดของข้อมูลซึ่งเป็นสิ่งที่ผู้ใช้ใส่ในหน้าต่าง Set experimental detail ตอน import ข้อมูล
- Match Phases เป็นข้อมูลของ accepted entries รวมทั้งค่า weight percent
- Candidates เป็น entry ที่ได้จากการ run Search-Match แต่ไม่ได้ accept
- Search-Match แสดง parameter ควบคุมของ Search-Match
- Peak list คือ list ของ peak ใน calculated pattern โดยจะแสดงตำแหน่ง และ FWHM ของแต่ละpeak และความสอดคล้องกับ peak ของ accepted entries
- Integrated Peak Areas เพื่อแสดงการเปรียบเทียบพื้นที่ใต้กราฟของแต่ละกราฟ เมื่อให้พื้นที่ใต้กราฟของ calculated pattern เป็น 100%
- Peak Residuals เพื่อแสดง % ของ count ส่วนของ calculated pattern ที่ไม่ตรงกับ pattern ของ accepted entries
- Diffraction Pattern Graphics แสดงกราฟที่อยู่ในหน้าต่างหลัก โดยถ้าต้องการปรับ display option ต่าง ๆ จะต้องทำในหน้าต่างหลักก่อนจะสร้าง report และเมื่อสร้าง report โปรแกรมจะ export ส่วนนี้แยกไปเป็นไฟล์รูปอีกไฟล์ด้วย
รูปที่ 12 แสดงหน้าต่าง report สำหรับสร้าง report ของผลการวิเคราะห์ล่าสุด

รูปที่ 13 ตัวอย่าง report ของผลการวิเคราะห์

การหา Lattice constant

สำหรับการหา lattice constant โปรแกรม Match! จะส่ง parameter ต่อไปที่โปรแกรม FullProf (https://www.ill.eu/sites/fullprof/) ซึ่งใช้สำหรับการทำ refinement โดยผู้ใช้จะต้องลงโปรแกรม FullProf ก่อน และเมื่อไปที่ Tools >> Rietveld (FullProf) ครั้งแรกโปรแกรมจะถามหา path ที่ลงโปรแกรม FullProf ไว้เมื่อ set path เรียบร้อยแล้วจะสามารถเปิดหน้าต่าง ‘Rietveld Parameter Turn-On’ ดังแสดงในรูปที่ 14 ซึ่งเป็นเหมือน GUI สำหรับการใช้งานโปรแกรม FullProf
เพื่อความสะดวกในการใช้งานโปรแกรม Match! จะมี option สำหรับ Automatic Rietveld refinement โดยเมื่อ tick แล้วโปรแกรมจะ run refinement ตามลำดับที่กำหนดด้วย preset ซึ่งมี standard preset ที่เหมาะสมสำหรับข้อมูลจากเครื่อง XRD เป็น default แต่ผู้ใช้ก็สามารถ customize ลำดับการ refine parameter ต่าง ๆ ได้เองโดยการเลือก ‘Configure’ เพื่อให้โปรแกรมเปิดหน้าต่างแสดงลำดับของการทำ refinement ดังแสดงในรูปที่ 15 ซึ่งรวมถึงการ refine unit cell parameter
ในกรณีที่ไม่ต้องการให้ทำ refinement ตามลำดับของ preset ด้วย parameter มาตรฐานยังสามารถเลือก run แค่บาง parameter ที่กำหนดเองโดย un-tick ที่กล่อง Automatic Rietveld refinement เพื่อ enable tick box สำหรับ parameter ต่าง ๆ รายละเอียดสำหรับ parameter ทั้งหมดสามารถอ่านเพิ่มเติมได้จากคู่มือของโปรแกรม FullProf อย่างไรก็ตามเมื่อกำหนด parameter เสร็จเรียบร้อยก็สามารถกด ‘Run FullProf’ และได้ผลลัพธ์แสดงในหน้าต่างหลักตามรูปที่ 16 ผลการ refine unit cell ก็จะปรากฏใน report เพิ่มเติมจากที่แสดงในรูปที่ 13

รูปที่ 14 แสดงหน้าต่างสำหรับการปรับ parameter เพื่อเชื่อมต่อกับโปรแกรม FullProf

รูปที่ 15 หน้าต่างสำหรับการ configure ลำดับการทำ refinement โดยผู้ใช้สามารถกำหนดได้ว่าการทำ refinement ครั้งที่ #1 จะให้ refine parameter ใดบ้าง และครั้งที่ #2, #3 ไปเรื่อย ๆ และกำหนดเป็น preset ใหม่

รูปที่ 16 แสดงผลลัพธ์จากการ run โปรแกรม FullProf

การหา crystallite site

โปรแกรม Match! ใช้สมการ Scherrer ในการหา crystallite site ดังแสดงในรูปที่ 17 โดยที่
- K เป็นค่าคงที่ Scherrer มีค่าประมาณ 0.94 สามารถปรับได้ ขึ้นกับโครงสร้างของสารตัวอย่าง
- λ เป็นค่าความยาวคลื่นที่ใช้ในการทดลอง โดยโปรแกรมจะใช้ค่าที่ใส่ใน experimental detail ตอนที่ import ข้อมูล
- θ เป็นค่ามุม diffraction ของ peak นั้น ๆ

รูปที่ 17 แสดงสมการ Scherrer ที่ใช้ในการคำนวณ crystallite size และ FWHM ของ peak ที่ได้จากการวัดซึ่งมีทั้งส่วนที่มาจากสารตัวอย่างเอง และส่วนที่มาจากเครื่องมือวัด

เนื่องจาก FWHM ของข้อมูลที่ได้จากการทดลองจะมีทั้งส่วนที่มาจาก crystallite size ของ sample และส่วนที่เป็น instrumental broadening ซึ่งมาจากเครื่องมือและเงื่อนไขในการทำการทดลอง ดังนั้นเพื่อให้ค่า crystallite size ที่ได้มีความแม่นยำจะต้องวัดสารมาตรฐานที่ถือว่าแทบจะไม่มีผลของ crystallite size เช่น LaB6 โดยใช้เครื่องมือเดียวกัน ในเงื่อนไขของการทดลองที่ใกล้เคียงกับการทดลองของสารตัวอย่างมากที่สุดด้วย ขั้นตอนการหาค่า crystallite size มีดังนี้
1. import ผลการทดลองของสารมาตรฐานและ process ข้อมูลโดยอาจจะทำแบบ manual เพื่อให้ได้ตำแหน่งและ FWHM ของ peak ทั้งหมดใกล้เคียงกับข้อมูลมากที่สุด
2. ไปที่ Tools >> Crystallite size estimation… เพื่อเปิดหน้าต่าง Estimate crystallite size using Scherrer formula โดยถ้ายังไม่เคยใส่สารมาตรฐานเข้ามาเก็บในโปรแกรม โปรแกรมจะแสดงหน้าต่างเตือนเพื่อให้ใส่ข้อมูลของสารมาตรฐาน ดังแสดงในรูปที่ 18
3. Import ผลการทดลองของสารตัวอย่างที่ต้องการหา crystallite size และ process ข้อมูล
4. ไปที่ Tools >> Crystallite size estimation… เพื่อเปิดหน้าต่าง Estimate crystallite size using Scherrer formula เลือกสารมาตรฐานที่วัดในเงื่อนไขใกล้เคียงกับสารตัวอย่างที่สุด โปรแกรมจะแสดงค่า crystallite size ที่คำนวณได้ดังแสดงในรูปที่ 19
หน้าต่างแสดงผลลัพธ์ของการคำนวณในรูปที่ 19 จะบอก crystallite size ที่คำนวณของทุก peak แต่จะคิดค่าเฉลี่ยเฉพาะจาก peak ที่เลือก default ของโปรแกรมจะเลือก peak ที่อยู่ในช่วงมุม 2theta 30-50 องศาเพราะเป็นช่วงที่สามารถหา crystallite size ได้แม่นยำแต่ก็อาจเพิ่มหรือลดตามความเหมาะสม โดย peak ที่เลือกควรจะเป็น peak ที่มี intensity สูงและไม่ซ้อนทับกับ peak อื่นมากเพื่อให้ได้ค่า FWHM ที่ชัดเจน
รูปที่ 18 หน้าต่างเพื่อใส่ตำแหน่ง peak และค่า FWHM ของสารมาตรฐาน โดยสามารถ import เข้ามาหรือเรียกจากข้อมูลปัจจุบันได้

รูปที่ 19 หน้าต่างแสดงผลลัพธ์การหาค่า crystallite size

Reference

1. โปรแกรม Match!
Match! - Phase Identification from Powder Diffraction, Crystal Impact
Dr. H. Putz & Dr. K. Brandenburg GbR, Kreuzherrenstr. 102, 53227 Bonn, Germany, https://www.crystalimpact.de/match
2. Match! Manual
3. Tutorial on Crystal Impact Youtube channel https://www.youtube.com/channel/UCIx1xtt8JhSJFHBnp9mBttg