Semapp 1.0.2__tar.gz → 1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of Semapp might be problematic. Click here for more details.

Files changed (29) hide show
  1. semapp-1.0.3/PKG-INFO +226 -0
  2. semapp-1.0.3/README.md +205 -0
  3. semapp-1.0.3/SEMapp.egg-info/PKG-INFO +226 -0
  4. {semapp-1.0.2 → semapp-1.0.3}/pyproject.toml +1 -1
  5. {semapp-1.0.2 → semapp-1.0.3}/semapp/Layout/create_button.py +162 -50
  6. semapp-1.0.3/semapp/Plot/__init__.py +8 -0
  7. {semapp-1.0.2 → semapp-1.0.3}/semapp/Plot/frame_attributes.py +208 -54
  8. {semapp-1.0.2 → semapp-1.0.3}/semapp/Processing/processing.py +85 -87
  9. semapp-1.0.3/semapp/__init__.py +10 -0
  10. {semapp-1.0.2 → semapp-1.0.3}/semapp/main.py +10 -1
  11. semapp-1.0.2/PKG-INFO +0 -20
  12. semapp-1.0.2/README.md +0 -0
  13. semapp-1.0.2/SEMapp.egg-info/PKG-INFO +0 -20
  14. semapp-1.0.2/semapp/Plot/__init__.py +0 -8
  15. semapp-1.0.2/semapp/__init__.py +0 -0
  16. {semapp-1.0.2 → semapp-1.0.3}/LICENSE +0 -0
  17. {semapp-1.0.2 → semapp-1.0.3}/SEMapp.egg-info/SOURCES.txt +0 -0
  18. {semapp-1.0.2 → semapp-1.0.3}/SEMapp.egg-info/dependency_links.txt +0 -0
  19. {semapp-1.0.2 → semapp-1.0.3}/SEMapp.egg-info/entry_points.txt +0 -0
  20. {semapp-1.0.2 → semapp-1.0.3}/SEMapp.egg-info/requires.txt +0 -0
  21. {semapp-1.0.2 → semapp-1.0.3}/SEMapp.egg-info/top_level.txt +0 -0
  22. {semapp-1.0.2 → semapp-1.0.3}/semapp/Layout/__init__.py +0 -0
  23. {semapp-1.0.2 → semapp-1.0.3}/semapp/Layout/main_window_att.py +0 -0
  24. {semapp-1.0.2 → semapp-1.0.3}/semapp/Layout/settings.py +0 -0
  25. {semapp-1.0.2 → semapp-1.0.3}/semapp/Layout/styles.py +0 -0
  26. {semapp-1.0.2 → semapp-1.0.3}/semapp/Plot/styles.py +0 -0
  27. {semapp-1.0.2 → semapp-1.0.3}/semapp/Plot/utils.py +0 -0
  28. {semapp-1.0.2 → semapp-1.0.3}/semapp/Processing/__init__.py +0 -0
  29. {semapp-1.0.2 → semapp-1.0.3}/setup.cfg +0 -0
semapp-1.0.3/PKG-INFO ADDED
@@ -0,0 +1,226 @@
1
+ Metadata-Version: 2.4
2
+ Name: Semapp
3
+ Version: 1.0.3
4
+ Summary: Package for SEM visualization
5
+ Author-email: Thibaut Meyer <thibaut.meyer3@gmail.com>
6
+ License-Expression: GPL-3.0-or-later
7
+ Project-URL: Homepage, https://github.com/thi-mey/SEMapp
8
+ Keywords: SEM,GUI
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.9
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: matplotlib==3.10.3
15
+ Requires-Dist: numpy==2.2.5
16
+ Requires-Dist: pandas==2.2.3
17
+ Requires-Dist: Pillow==11.2.1
18
+ Requires-Dist: PyQt5==5.15.11
19
+ Requires-Dist: PyQt5_sip==12.17.0
20
+ Dynamic: license-file
21
+
22
+ # SEMapp - SEM Data Visualization Application
23
+
24
+ A PyQt5-based desktop application for visualizing and analyzing Scanning Electron Microscope (SEM) data. SEMapp supports both standard and COMPLUS4T KLARF file formats, providing an intuitive interface for defect mapping and image analysis.
25
+
26
+ ## Features
27
+
28
+ ### Core Functionality
29
+ - **KLARF File Support**: Parse and extract defect data from `.001` (KLARF) files
30
+ - **Dual Mode Operation**:
31
+ - **Standard Mode**: Process SEM data from structured subdirectories
32
+ - **COMPLUS4T Mode**: Handle multi-wafer KLARF files with automatic wafer detection
33
+ - **Interactive Wafer Mapping**: Visual representation of defect positions on wafer surface
34
+ - **Image Visualization**: Display TIFF images corresponding to defect locations
35
+ - **Dynamic Defect Filtering**: Real-time defect filtering based on size threshold (COMPLUS4T mode)
36
+
37
+ ### Data Processing
38
+ - **Automatic File Organization**: Organize TIFF files into wafer-specific subfolders
39
+ - **Coordinate Extraction**: Extract and convert defect coordinates from KLARF format
40
+ - **CSV Export**: Save defect mapping data for external analysis
41
+ - **Batch Processing**: Process multiple wafers in a single session
42
+
43
+ ### User Interface
44
+ - **Wafer Selection**: Grid-based wafer slot selection (1-26)
45
+ - **Image Type Selection**: Choose from different image scales and types
46
+ - **Defect Size Slider**: Dynamic threshold control for defect visualization (COMPLUS4T mode)
47
+ - **Interactive Plot**: Click on defect positions to view corresponding images
48
+ - **Settings Configuration**: Customize image types and processing parameters
49
+
50
+ ## Installation
51
+
52
+ ### Prerequisites
53
+ - Python 3.7 or higher
54
+ - pip package manager
55
+
56
+ ### Install from PyPI
57
+ ```bash
58
+ pip install semapp
59
+ ```
60
+
61
+ ### Install from Source
62
+ ```bash
63
+ git clone https://github.com/yourusername/semapp.git
64
+ cd semapp
65
+ pip install -e .
66
+ ```
67
+
68
+ ### Dependencies
69
+ The following packages will be installed automatically:
70
+ - PyQt5 >= 5.15.0
71
+ - matplotlib >= 3.3.0
72
+ - pandas >= 1.1.0
73
+ - Pillow >= 8.0.0
74
+ - numpy >= 1.19.0
75
+
76
+ ## Quick Start
77
+
78
+ ### Launching the Application
79
+ ```bash
80
+ # From command line after installation
81
+ semapp
82
+
83
+ # Or run directly from source
84
+ python -m semapp.main
85
+ ```
86
+
87
+ ### Basic Workflow
88
+
89
+ 1. **Select a Directory**
90
+ - Click "Select Folder" to choose your data directory
91
+ - Application automatically detects standard or COMPLUS4T mode
92
+
93
+ 2. **Choose a Wafer**
94
+ - Select a wafer slot from the grid (1-26)
95
+ - Available wafers are highlighted
96
+
97
+ 3. **Open TIFF Data**
98
+ - Click "Open TIFF" to load defect data and images
99
+ - Wafer mapping is displayed automatically
100
+
101
+ 4. **Analyze Defects**
102
+ - Click on defect points in the map to view corresponding images
103
+ - Use the defect size slider (COMPLUS4T mode) to filter by threshold
104
+ - Red points indicate defects above threshold, blue points below
105
+
106
+ ## File Structure
107
+
108
+ ### Standard Mode
109
+ ```
110
+ project_directory/
111
+ ├── 1/ # Wafer slot 1
112
+ │ ├── data.tif # TIFF image file
113
+ │ ├── recipe_file.001 # KLARF defect file
114
+ │ └── mapping.csv # Generated coordinate mapping
115
+ ├── 2/ # Wafer slot 2
116
+ │ ├── data.tif
117
+ │ ├── recipe_file.001
118
+ │ └── mapping.csv
119
+ └── ...
120
+ ```
121
+
122
+ ### COMPLUS4T Mode
123
+ ```
124
+ project_directory/
125
+ ├── data.tiff # Single TIFF file with all defects
126
+ ├── recipe_file.001 # KLARF file containing multiple wafer IDs
127
+ ├── 16/ # Subfolder created for wafer ID 16
128
+ │ └── mapping.csv # Wafer-specific mapping
129
+ ├── 21/ # Subfolder created for wafer ID 21
130
+ │ └── mapping.csv
131
+ └── ...
132
+ ```
133
+
134
+ ## KLARF File Format
135
+
136
+ SEMapp parses KLARF (`.001`) files to extract:
137
+ - **Wafer IDs**: `WaferID "@16";` (COMPLUS4T mode)
138
+ - **Sample Size**: Total number of defects
139
+ - **Die Pitch**: X and Y spacing between dies
140
+ - **Die Origin**: Reference origin coordinates
141
+ - **Sample Center**: Wafer center location
142
+ - **Defect List**: Individual defect data including:
143
+ - Position (X, Y coordinates)
144
+ - Size (nm)
145
+ - Defect ID
146
+
147
+ ## Settings Configuration
148
+
149
+ ### Image Type Settings
150
+ Configure available image types and scales in the settings dialog:
151
+ - **Scale**: Image scale factor (e.g., 1µm, 5µm, 10µm)
152
+ - **Image Type**: Description of image type (e.g., Optic, SEM)
153
+
154
+ Settings are saved to `settings_data.json` for persistence across sessions.
155
+
156
+ ### Data Processing Options
157
+ - **Split & Rename**: Organize files into wafer subfolders
158
+ - **Rename Files**: Batch rename files based on coordinates
159
+ - **Clean Folders**: Remove temporary/unwanted files
160
+
161
+ ## Troubleshooting
162
+
163
+ ### Common Issues
164
+
165
+ **TIFF file not found**
166
+ - Ensure TIFF files are named `data.tif` (standard mode)
167
+ - Check that TIFF files have `.tiff` or `.tif` extension
168
+ - Verify folder structure matches expected format
169
+
170
+ **Wafer IDs not detected**
171
+ - Confirm KLARF file contains "COMPLUS4T" keyword
172
+ - Check WaferID format: `WaferID "@<number>";`
173
+ - Ensure wafer IDs are between 1 and 26
174
+
175
+ **Coordinates not displaying**
176
+ - Verify KLARF file contains DefectList section
177
+ - Check that DiePitch, DieOrigin, and SampleCenterLocation are defined
178
+ - Ensure defect data format matches expected structure
179
+
180
+ **Images not loading**
181
+ - Confirm TIFF file is valid and not corrupted
182
+ - Check file permissions for read access
183
+ - Verify sufficient memory for large TIFF files
184
+
185
+ ## Development
186
+
187
+ ### Project Structure
188
+ ```
189
+ semapp/
190
+ ├── __init__.py # Package initialization
191
+ ├── main.py # Application entry point
192
+ ├── Layout/ # UI components
193
+ │ ├── create_button.py # Button controls and wafer selection
194
+ │ ├── main_window_att.py # Main window layout
195
+ │ ├── settings.py # Settings dialog
196
+ │ └── styles.py # UI style definitions
197
+ ├── Plot/ # Plotting and visualization
198
+ │ ├── frame_attributes.py # Plot frame and mapping
199
+ │ ├── styles.py # Plot styles
200
+ │ └── utils.py # Plotting utilities
201
+ └── Processing/ # Data processing
202
+ └── processing.py # File processing and KLARF parsing
203
+ ```
204
+
205
+ ### Contributing
206
+ Contributions are welcome! Please feel free to submit a Pull Request.
207
+ ## License
208
+
209
+ This project is licensed under the MIT License - see the LICENSE file for details.
210
+
211
+ ## Acknowledgments
212
+
213
+ - Built with PyQt5 for the graphical interface
214
+ - Matplotlib for data visualization
215
+ - Pandas for data manipulation
216
+ - Pillow for image processing
217
+
218
+ ## Contact
219
+
220
+ For questions, issues, or suggestions, please open an issue on GitHub.
221
+
222
+ ---
223
+
224
+ **Version**: 1.0.2
225
+ **Status**: Production Ready
226
+
semapp-1.0.3/README.md ADDED
@@ -0,0 +1,205 @@
1
+ # SEMapp - SEM Data Visualization Application
2
+
3
+ A PyQt5-based desktop application for visualizing and analyzing Scanning Electron Microscope (SEM) data. SEMapp supports both standard and COMPLUS4T KLARF file formats, providing an intuitive interface for defect mapping and image analysis.
4
+
5
+ ## Features
6
+
7
+ ### Core Functionality
8
+ - **KLARF File Support**: Parse and extract defect data from `.001` (KLARF) files
9
+ - **Dual Mode Operation**:
10
+ - **Standard Mode**: Process SEM data from structured subdirectories
11
+ - **COMPLUS4T Mode**: Handle multi-wafer KLARF files with automatic wafer detection
12
+ - **Interactive Wafer Mapping**: Visual representation of defect positions on wafer surface
13
+ - **Image Visualization**: Display TIFF images corresponding to defect locations
14
+ - **Dynamic Defect Filtering**: Real-time defect filtering based on size threshold (COMPLUS4T mode)
15
+
16
+ ### Data Processing
17
+ - **Automatic File Organization**: Organize TIFF files into wafer-specific subfolders
18
+ - **Coordinate Extraction**: Extract and convert defect coordinates from KLARF format
19
+ - **CSV Export**: Save defect mapping data for external analysis
20
+ - **Batch Processing**: Process multiple wafers in a single session
21
+
22
+ ### User Interface
23
+ - **Wafer Selection**: Grid-based wafer slot selection (1-26)
24
+ - **Image Type Selection**: Choose from different image scales and types
25
+ - **Defect Size Slider**: Dynamic threshold control for defect visualization (COMPLUS4T mode)
26
+ - **Interactive Plot**: Click on defect positions to view corresponding images
27
+ - **Settings Configuration**: Customize image types and processing parameters
28
+
29
+ ## Installation
30
+
31
+ ### Prerequisites
32
+ - Python 3.7 or higher
33
+ - pip package manager
34
+
35
+ ### Install from PyPI
36
+ ```bash
37
+ pip install semapp
38
+ ```
39
+
40
+ ### Install from Source
41
+ ```bash
42
+ git clone https://github.com/yourusername/semapp.git
43
+ cd semapp
44
+ pip install -e .
45
+ ```
46
+
47
+ ### Dependencies
48
+ The following packages will be installed automatically:
49
+ - PyQt5 >= 5.15.0
50
+ - matplotlib >= 3.3.0
51
+ - pandas >= 1.1.0
52
+ - Pillow >= 8.0.0
53
+ - numpy >= 1.19.0
54
+
55
+ ## Quick Start
56
+
57
+ ### Launching the Application
58
+ ```bash
59
+ # From command line after installation
60
+ semapp
61
+
62
+ # Or run directly from source
63
+ python -m semapp.main
64
+ ```
65
+
66
+ ### Basic Workflow
67
+
68
+ 1. **Select a Directory**
69
+ - Click "Select Folder" to choose your data directory
70
+ - Application automatically detects standard or COMPLUS4T mode
71
+
72
+ 2. **Choose a Wafer**
73
+ - Select a wafer slot from the grid (1-26)
74
+ - Available wafers are highlighted
75
+
76
+ 3. **Open TIFF Data**
77
+ - Click "Open TIFF" to load defect data and images
78
+ - Wafer mapping is displayed automatically
79
+
80
+ 4. **Analyze Defects**
81
+ - Click on defect points in the map to view corresponding images
82
+ - Use the defect size slider (COMPLUS4T mode) to filter by threshold
83
+ - Red points indicate defects above threshold, blue points below
84
+
85
+ ## File Structure
86
+
87
+ ### Standard Mode
88
+ ```
89
+ project_directory/
90
+ ├── 1/ # Wafer slot 1
91
+ │ ├── data.tif # TIFF image file
92
+ │ ├── recipe_file.001 # KLARF defect file
93
+ │ └── mapping.csv # Generated coordinate mapping
94
+ ├── 2/ # Wafer slot 2
95
+ │ ├── data.tif
96
+ │ ├── recipe_file.001
97
+ │ └── mapping.csv
98
+ └── ...
99
+ ```
100
+
101
+ ### COMPLUS4T Mode
102
+ ```
103
+ project_directory/
104
+ ├── data.tiff # Single TIFF file with all defects
105
+ ├── recipe_file.001 # KLARF file containing multiple wafer IDs
106
+ ├── 16/ # Subfolder created for wafer ID 16
107
+ │ └── mapping.csv # Wafer-specific mapping
108
+ ├── 21/ # Subfolder created for wafer ID 21
109
+ │ └── mapping.csv
110
+ └── ...
111
+ ```
112
+
113
+ ## KLARF File Format
114
+
115
+ SEMapp parses KLARF (`.001`) files to extract:
116
+ - **Wafer IDs**: `WaferID "@16";` (COMPLUS4T mode)
117
+ - **Sample Size**: Total number of defects
118
+ - **Die Pitch**: X and Y spacing between dies
119
+ - **Die Origin**: Reference origin coordinates
120
+ - **Sample Center**: Wafer center location
121
+ - **Defect List**: Individual defect data including:
122
+ - Position (X, Y coordinates)
123
+ - Size (nm)
124
+ - Defect ID
125
+
126
+ ## Settings Configuration
127
+
128
+ ### Image Type Settings
129
+ Configure available image types and scales in the settings dialog:
130
+ - **Scale**: Image scale factor (e.g., 1µm, 5µm, 10µm)
131
+ - **Image Type**: Description of image type (e.g., Optic, SEM)
132
+
133
+ Settings are saved to `settings_data.json` for persistence across sessions.
134
+
135
+ ### Data Processing Options
136
+ - **Split & Rename**: Organize files into wafer subfolders
137
+ - **Rename Files**: Batch rename files based on coordinates
138
+ - **Clean Folders**: Remove temporary/unwanted files
139
+
140
+ ## Troubleshooting
141
+
142
+ ### Common Issues
143
+
144
+ **TIFF file not found**
145
+ - Ensure TIFF files are named `data.tif` (standard mode)
146
+ - Check that TIFF files have `.tiff` or `.tif` extension
147
+ - Verify folder structure matches expected format
148
+
149
+ **Wafer IDs not detected**
150
+ - Confirm KLARF file contains "COMPLUS4T" keyword
151
+ - Check WaferID format: `WaferID "@<number>";`
152
+ - Ensure wafer IDs are between 1 and 26
153
+
154
+ **Coordinates not displaying**
155
+ - Verify KLARF file contains DefectList section
156
+ - Check that DiePitch, DieOrigin, and SampleCenterLocation are defined
157
+ - Ensure defect data format matches expected structure
158
+
159
+ **Images not loading**
160
+ - Confirm TIFF file is valid and not corrupted
161
+ - Check file permissions for read access
162
+ - Verify sufficient memory for large TIFF files
163
+
164
+ ## Development
165
+
166
+ ### Project Structure
167
+ ```
168
+ semapp/
169
+ ├── __init__.py # Package initialization
170
+ ├── main.py # Application entry point
171
+ ├── Layout/ # UI components
172
+ │ ├── create_button.py # Button controls and wafer selection
173
+ │ ├── main_window_att.py # Main window layout
174
+ │ ├── settings.py # Settings dialog
175
+ │ └── styles.py # UI style definitions
176
+ ├── Plot/ # Plotting and visualization
177
+ │ ├── frame_attributes.py # Plot frame and mapping
178
+ │ ├── styles.py # Plot styles
179
+ │ └── utils.py # Plotting utilities
180
+ └── Processing/ # Data processing
181
+ └── processing.py # File processing and KLARF parsing
182
+ ```
183
+
184
+ ### Contributing
185
+ Contributions are welcome! Please feel free to submit a Pull Request.
186
+ ## License
187
+
188
+ This project is licensed under the MIT License - see the LICENSE file for details.
189
+
190
+ ## Acknowledgments
191
+
192
+ - Built with PyQt5 for the graphical interface
193
+ - Matplotlib for data visualization
194
+ - Pandas for data manipulation
195
+ - Pillow for image processing
196
+
197
+ ## Contact
198
+
199
+ For questions, issues, or suggestions, please open an issue on GitHub.
200
+
201
+ ---
202
+
203
+ **Version**: 1.0.2
204
+ **Status**: Production Ready
205
+
@@ -0,0 +1,226 @@
1
+ Metadata-Version: 2.4
2
+ Name: Semapp
3
+ Version: 1.0.3
4
+ Summary: Package for SEM visualization
5
+ Author-email: Thibaut Meyer <thibaut.meyer3@gmail.com>
6
+ License-Expression: GPL-3.0-or-later
7
+ Project-URL: Homepage, https://github.com/thi-mey/SEMapp
8
+ Keywords: SEM,GUI
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.9
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: matplotlib==3.10.3
15
+ Requires-Dist: numpy==2.2.5
16
+ Requires-Dist: pandas==2.2.3
17
+ Requires-Dist: Pillow==11.2.1
18
+ Requires-Dist: PyQt5==5.15.11
19
+ Requires-Dist: PyQt5_sip==12.17.0
20
+ Dynamic: license-file
21
+
22
+ # SEMapp - SEM Data Visualization Application
23
+
24
+ A PyQt5-based desktop application for visualizing and analyzing Scanning Electron Microscope (SEM) data. SEMapp supports both standard and COMPLUS4T KLARF file formats, providing an intuitive interface for defect mapping and image analysis.
25
+
26
+ ## Features
27
+
28
+ ### Core Functionality
29
+ - **KLARF File Support**: Parse and extract defect data from `.001` (KLARF) files
30
+ - **Dual Mode Operation**:
31
+ - **Standard Mode**: Process SEM data from structured subdirectories
32
+ - **COMPLUS4T Mode**: Handle multi-wafer KLARF files with automatic wafer detection
33
+ - **Interactive Wafer Mapping**: Visual representation of defect positions on wafer surface
34
+ - **Image Visualization**: Display TIFF images corresponding to defect locations
35
+ - **Dynamic Defect Filtering**: Real-time defect filtering based on size threshold (COMPLUS4T mode)
36
+
37
+ ### Data Processing
38
+ - **Automatic File Organization**: Organize TIFF files into wafer-specific subfolders
39
+ - **Coordinate Extraction**: Extract and convert defect coordinates from KLARF format
40
+ - **CSV Export**: Save defect mapping data for external analysis
41
+ - **Batch Processing**: Process multiple wafers in a single session
42
+
43
+ ### User Interface
44
+ - **Wafer Selection**: Grid-based wafer slot selection (1-26)
45
+ - **Image Type Selection**: Choose from different image scales and types
46
+ - **Defect Size Slider**: Dynamic threshold control for defect visualization (COMPLUS4T mode)
47
+ - **Interactive Plot**: Click on defect positions to view corresponding images
48
+ - **Settings Configuration**: Customize image types and processing parameters
49
+
50
+ ## Installation
51
+
52
+ ### Prerequisites
53
+ - Python 3.7 or higher
54
+ - pip package manager
55
+
56
+ ### Install from PyPI
57
+ ```bash
58
+ pip install semapp
59
+ ```
60
+
61
+ ### Install from Source
62
+ ```bash
63
+ git clone https://github.com/yourusername/semapp.git
64
+ cd semapp
65
+ pip install -e .
66
+ ```
67
+
68
+ ### Dependencies
69
+ The following packages will be installed automatically:
70
+ - PyQt5 >= 5.15.0
71
+ - matplotlib >= 3.3.0
72
+ - pandas >= 1.1.0
73
+ - Pillow >= 8.0.0
74
+ - numpy >= 1.19.0
75
+
76
+ ## Quick Start
77
+
78
+ ### Launching the Application
79
+ ```bash
80
+ # From command line after installation
81
+ semapp
82
+
83
+ # Or run directly from source
84
+ python -m semapp.main
85
+ ```
86
+
87
+ ### Basic Workflow
88
+
89
+ 1. **Select a Directory**
90
+ - Click "Select Folder" to choose your data directory
91
+ - Application automatically detects standard or COMPLUS4T mode
92
+
93
+ 2. **Choose a Wafer**
94
+ - Select a wafer slot from the grid (1-26)
95
+ - Available wafers are highlighted
96
+
97
+ 3. **Open TIFF Data**
98
+ - Click "Open TIFF" to load defect data and images
99
+ - Wafer mapping is displayed automatically
100
+
101
+ 4. **Analyze Defects**
102
+ - Click on defect points in the map to view corresponding images
103
+ - Use the defect size slider (COMPLUS4T mode) to filter by threshold
104
+ - Red points indicate defects above threshold, blue points below
105
+
106
+ ## File Structure
107
+
108
+ ### Standard Mode
109
+ ```
110
+ project_directory/
111
+ ├── 1/ # Wafer slot 1
112
+ │ ├── data.tif # TIFF image file
113
+ │ ├── recipe_file.001 # KLARF defect file
114
+ │ └── mapping.csv # Generated coordinate mapping
115
+ ├── 2/ # Wafer slot 2
116
+ │ ├── data.tif
117
+ │ ├── recipe_file.001
118
+ │ └── mapping.csv
119
+ └── ...
120
+ ```
121
+
122
+ ### COMPLUS4T Mode
123
+ ```
124
+ project_directory/
125
+ ├── data.tiff # Single TIFF file with all defects
126
+ ├── recipe_file.001 # KLARF file containing multiple wafer IDs
127
+ ├── 16/ # Subfolder created for wafer ID 16
128
+ │ └── mapping.csv # Wafer-specific mapping
129
+ ├── 21/ # Subfolder created for wafer ID 21
130
+ │ └── mapping.csv
131
+ └── ...
132
+ ```
133
+
134
+ ## KLARF File Format
135
+
136
+ SEMapp parses KLARF (`.001`) files to extract:
137
+ - **Wafer IDs**: `WaferID "@16";` (COMPLUS4T mode)
138
+ - **Sample Size**: Total number of defects
139
+ - **Die Pitch**: X and Y spacing between dies
140
+ - **Die Origin**: Reference origin coordinates
141
+ - **Sample Center**: Wafer center location
142
+ - **Defect List**: Individual defect data including:
143
+ - Position (X, Y coordinates)
144
+ - Size (nm)
145
+ - Defect ID
146
+
147
+ ## Settings Configuration
148
+
149
+ ### Image Type Settings
150
+ Configure available image types and scales in the settings dialog:
151
+ - **Scale**: Image scale factor (e.g., 1µm, 5µm, 10µm)
152
+ - **Image Type**: Description of image type (e.g., Optic, SEM)
153
+
154
+ Settings are saved to `settings_data.json` for persistence across sessions.
155
+
156
+ ### Data Processing Options
157
+ - **Split & Rename**: Organize files into wafer subfolders
158
+ - **Rename Files**: Batch rename files based on coordinates
159
+ - **Clean Folders**: Remove temporary/unwanted files
160
+
161
+ ## Troubleshooting
162
+
163
+ ### Common Issues
164
+
165
+ **TIFF file not found**
166
+ - Ensure TIFF files are named `data.tif` (standard mode)
167
+ - Check that TIFF files have `.tiff` or `.tif` extension
168
+ - Verify folder structure matches expected format
169
+
170
+ **Wafer IDs not detected**
171
+ - Confirm KLARF file contains "COMPLUS4T" keyword
172
+ - Check WaferID format: `WaferID "@<number>";`
173
+ - Ensure wafer IDs are between 1 and 26
174
+
175
+ **Coordinates not displaying**
176
+ - Verify KLARF file contains DefectList section
177
+ - Check that DiePitch, DieOrigin, and SampleCenterLocation are defined
178
+ - Ensure defect data format matches expected structure
179
+
180
+ **Images not loading**
181
+ - Confirm TIFF file is valid and not corrupted
182
+ - Check file permissions for read access
183
+ - Verify sufficient memory for large TIFF files
184
+
185
+ ## Development
186
+
187
+ ### Project Structure
188
+ ```
189
+ semapp/
190
+ ├── __init__.py # Package initialization
191
+ ├── main.py # Application entry point
192
+ ├── Layout/ # UI components
193
+ │ ├── create_button.py # Button controls and wafer selection
194
+ │ ├── main_window_att.py # Main window layout
195
+ │ ├── settings.py # Settings dialog
196
+ │ └── styles.py # UI style definitions
197
+ ├── Plot/ # Plotting and visualization
198
+ │ ├── frame_attributes.py # Plot frame and mapping
199
+ │ ├── styles.py # Plot styles
200
+ │ └── utils.py # Plotting utilities
201
+ └── Processing/ # Data processing
202
+ └── processing.py # File processing and KLARF parsing
203
+ ```
204
+
205
+ ### Contributing
206
+ Contributions are welcome! Please feel free to submit a Pull Request.
207
+ ## License
208
+
209
+ This project is licensed under the MIT License - see the LICENSE file for details.
210
+
211
+ ## Acknowledgments
212
+
213
+ - Built with PyQt5 for the graphical interface
214
+ - Matplotlib for data visualization
215
+ - Pandas for data manipulation
216
+ - Pillow for image processing
217
+
218
+ ## Contact
219
+
220
+ For questions, issues, or suggestions, please open an issue on GitHub.
221
+
222
+ ---
223
+
224
+ **Version**: 1.0.2
225
+ **Status**: Production Ready
226
+
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = "Semapp"
7
- version = "1.0.2"
7
+ version = "1.0.3"
8
8
  authors = [
9
9
  { name="Thibaut Meyer", email="thibaut.meyer3@gmail.com" },
10
10
  ]