Commit Graph

8 Commits

Author SHA1 Message Date
wei.lw.li bbb3bf5326 fix: 修复算子代码审查发现的关键问题
1. 资源泄漏:HighPass/LowPass滤波器Image对象未dispose(改用using+Clone)
2. 线程安全:GammaProcessor LUT从实例字段改为方法局部变量
3. 资源泄漏:BandPassFilter补充floatImage和mask的Dispose
4. 边界情况:ThresholdProcessor Otsu16初始阈值改为中值(防全黑/全白)
5. 异常安全:RemoveOutliers的medianImage用try-finally保证释放
6. 空引用:SuperResolution InputMetadata空检查
2026-08-17 09:40:31 +08:00
XplorePlane Developer 957157ae80 fix: 修复编译错误、BGA向导预览、算子重复插入及状态栏消息
## Compilation fixes
- Fix XAML namespace reference XplorePlane.Converters → XplorePlane.Helpers (EventLogView, StateDisplayView)
- Add missing using for ISampleTypeRepository / JsonSampleTypeRepository in App.xaml.cs
- Fix ILoggerService.Warn() calls using Exception as first arg instead of message string
- Serialize CncProgram to JSON when passing to MatrixLayout (expects string, not CncProgram object)
- Suppress CS8632 nullable annotation warnings project-wide

## BGA wizard fixes
- Fix preview not showing on step 3: force RefreshBgaPreview() when entering final step
- Add step validation in CanNext() to prevent skipping to preview with invalid inputs
- Notify NextCommand.CanExecuteChanged when inputs change
- Fix RunProgress runtime binding error: set Mode=OneWay for ProgressBar.Value

## Operator toolbox: prevent duplicate insertion
- Add static OperatorTarget property for direct dispatch to active pipeline
- PipelineEditorView registers as toolbox target on load (floating window only)
- CNC page sets initial target; PipelineEditorWindow resets to CNC pipeline on close
- '+' button inserts only to the active pipeline instead of broadcasting to all subscribers

## Pipeline editor status bar messages
- Add StatusBarMessageEvent / StatusBarMessagePayload to CommonEvents.cs
- PipelineEditorViewModel publishes status on all ops (add/remove/reorder/save/execute)
- MainViewModel subscribes and displays on main window bottom status bar
- Auto-clear after timeout (3s info, 5s error)

## docs
- Merge three architecture docs into consolidated XplorePlane-架构与结构说明.md
2026-07-24 15:59:16 +08:00
李伟 ecc58a5819 feat(算子库): 50个算子升级为泛型,同时支持 8位/16位灰度图像处理
泛型算子(ImageProcessorBase<TDepth>,byte/ushort 均支持):
- 滤波处理:GaussianBlur、MeanFilter、MedianFilter、BilateralFilter
             HighPassFilter、LowPassFilter、BandPassFilter、ShockFilter
- 边缘检测:SobelEdge、KirschEdge、HorizontalEdge
- 图像变换:Grayscale、Mirror、Rotate、Threshold
- 图像增强:Contrast、Gamma(LUT 升级为 ushort[65536])、Sharpen、SubPixelZoom
- 数学运算:Difference、Multiplication、Division、Integral、Or
- 其他:FilmEffect(窗宽窗位参数扩展至 0-65535)、MorphologyProcessor
- 检测分析:EdgeLineFit、EdgeCircleFit(卡尺剖面读取支持 16 位灰度)

保持 8位专用(ImageProcessorBase<byte>):
- 轮廓/椭圆检测、BGA/QFN/Void 检测、模板匹配等需要 FindContours/CV_8U 的算子

新增:
- VoidMeasurementProcessor16:16位专用包装类,阈值参数范围 0-65535
- VoidMeasurementProcessor/BgaVoidRateProcessor 阈值参数范围扩至 65535
2026-06-16 13:00:15 +08:00
ZHANG Zhengxuan 28a1ae0898 已合并 PR 25: 合并最新图像库,打通加载图像和算子流程图拖拽功能
![image.png](http://cntao-ap-v83/HMQ-Solution/7ff128fd-5cc6-4feb-9529-2a03b2895662/_apis/git/repositories/e2c5485f-4369-4ed9-9fb9-d087ca4e04b6/pullRequests/25/attachments/image.png)
2026-04-20 13:35:23 +08:00
zhengxuan.zhang e0a7af6226 对算法输入参数非法情况进行过滤 2026-04-20 11:13:40 +08:00
李伟 78c21c21f0 TURBO-565-浮雕为3D算子 2026-04-20 09:58:35 +08:00
李伟 cd03e30bb8 修复注释乱码 2026-04-14 17:12:31 +08:00
李伟 ace1c70ddf 规范类名及命名空间名称 2026-04-13 14:36:18 +08:00