
# SegPCBX: A Benchmark Dataset for PCB Component Segmentation
## Overview
SegPCBX is an extensive dataset designed to enhance the segmentation of Printed Circuit Board(PCB) components, aiding in the advancement of reverse engineering and PCB quality assurance. It comprises X-ray images sourced from diverse multilayered PCB samples, serving as a valuable resource for research in component segmentation, design extraction, defect detection, void detection, and more.

## Dataset Description
The SegPCBX dataset is organized by different folders of PCB boards, each PCB sample folder has corresponding different subfolders:

- `raw_projection_files/`: Contains raw X-ray projection files scanned from 360 degrees.
- `aligned_reconstructed_tif_files/`: Corresponding aligned and reconstructed 2D Tiff files collected from the reconstructed 3D volume with a view from the front of the PCB sample.
- `vg_studio_files/`: Contains all files required to load the volume in VGStudio.
- `layer_images/`: Selected layer images from the reconstructed files in `aligned_reconstructed_tif_files/` folder.
- `annotations/`: Pixel level JSON annotation in COCO format on the images from `layer_images/` folder.

## Images
This dataset contain high resolution images generated from X-ray CT scan. Each PCB sample has been carefully selected to obtain the best possible resulotion of X-ray scan. Each PCB sample has a collection of images from different circuit layers.

## Annotation
This dataset includes: JSON annotation (in `annotations/` folder) and layer image files(in `layer_images/` folder).Every layer image is in the same file name in the JSON annotation file, e.g. the annotation of every component from image named `pcb9_layer1_top1090.png` is annotated under the same file name in the COCO format, `file_name`: `pcb9_layer1_top1090.png`. This dataset contains segmentation masks and bounding box information with a category ID for each component in the layer images. As PCBs have wide range of components, we annotated six common types of PCB components seen through X-ray scan: vias, traces, pads, solder balls, PGA and copper planes. 

The JSON annotation format includes the following attributes:

Info: general information about the dataset, such as description, date created, and general information

Licenses: information about the licenses for the images in the dataset

Categories: a list of all categories of components we annotated in the PCB images, including each category's name and ID

Images: a list of all the images in the dataset, including the file name, width, height, and other metadata

Annotations: a list of all the annotations for each image, including the component category, bounding box coordinates, and segmentation masks.

## Acknowledgments
We extend our gratitude to all the contributors of this dataset and to all the researchers whose dedication made this dataset a reality.

## Contact
For queries regarding the dataset, contact:
Dr. Navid Asadi (nasadi[at]ufl[dot]edu)
