Commit Graph
7 Commits
Author SHA1 Message Date
grmchn 3f3fcf3a28 Add PoseData to pose_keypoint converter node 2025-12-13 15:10:42 +09:00
gear_machineandClaude d2a7ec38a5 Implement KeyPoint Denoiser with Kalman filter-based noise reduction (Issue024)
- Add sophisticated 7-stage denoising pipeline using Kalman filters
- Support temporal smoothing for dance video pose keypoints
- Include two ComfyUI node variants: basic and advanced parameter control
- Comprehensive error handling and fallback to original data on errors
- Performance: 4-8ms/frame with 90%+ observation acceptance rates

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 19:16:51 +09:00
gear_machineandClaude 7c70d7fc0f Fix Issue019: Remove deprecated DWPose detector nodes properly
- Remove ProportionChangerUniAnimateDWPoseDetector from nodes.py and mappings
- Remove ProportionChangerUniAnimateDWPoseDetector from proportion_changer module
- Delete ProportionChangerUltimateUniAnimateDWPoseDetector class (973 lines)
- Delete ProportionChangerDWPoseDetectorForPoseKeypoint class (462 lines)
- Clean up NODE_CLASS_MAPPINGS and NODE_DISPLAY_NAME_MAPPINGS
- Preserve ProportionChangerDWPoseDetector and ProportionChangerDWPoseRender
- Total: 908 lines removed, codebase significantly simplified

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 15:11:32 +09:00
gear_machineandClaude 93d1e1c31b Implement ProportionChanger Interpolator with simplified specification (Issue017)
- Add ProportionChangerInterpolator node with streamlined parameters
- Input: pose_keypoint (singular notation, batch processing supported)
- Parameters: method (simplified from interpolation_method), interpolation_frames (0-5)
- Fixed internal parameters: momentum_weight=0.5 for cleaner UI
- Support 4 interpolation methods: linear, ease_in_out, bezier, momentum
- Complete ComfyUI integration with proper node mappings
- Include comprehensive standalone test suite

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 14:21:23 +09:00
gear_machineandClaude 63724bfb59 Implement ProportionChanger Params node for direct POSE_KEYPOINT editing
✨ Features:
- Direct pose keypoint manipulation without image rendering
- Body part scaling: pelvis, torso, neck, head, shoulders, arms, legs
- Face detail adjustments: eye distance, eye/eyebrow height and scaling, mouth, nose, face shape
- Hand scaling with wrist-based reference
- Global transformations: overall scale, rotation, translation

🔧 Technical Implementation:
- Independent transformation calculations to prevent parameter interference
- Deep copy protection to avoid memory reference sharing issues
- ComfyUI cache bypass with IS_CHANGED method
- Hierarchical transformation order: pelvis → torso → neck → shoulders → arms/legs/head
- OpenPose standard face keypoint group definitions

🐛 Bug Fixes:
- Fixed shoulder_scale + arm_scale interference (parameters now apply independently)
- Resolved memory reference sharing causing persistent changes across runs
- Fixed overall_scale not applying due to missing condition check
- Implemented proper face keypoint processing (was placeholder)

📦 Files Added:
- proportion_changer/params_node.py: Main ProportionChangerParams node implementation
- Updated nodes.py and __init__.py for proper node registration

🎯 Usage:
Input: POSE_KEYPOINT → ProportionChanger Params → Output: Modified POSE_KEYPOINT
Compatible with all other ProportionChanger nodes for chained processing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-17 13:51:43 +09:00
gear_machineandClaude d585488833 Unify node names and variable naming conventions
- Rename ProportionChanger Ultimate → ProportionChanger Reference
- Rename ProportionChanger DWPose Detector for PoseKeypoint → ProportionChanger DWPose Detector
- Standardize variable names: processed_pose_keypoint → changed_pose_keypoint
- Unify parameter naming: pose_keypoints → pose_keypoint (singular)
- Convert input parameter names to lowercase: POSE_KEYPOINT → pose_keypoint
- Update all NODE_CLASS_MAPPINGS and NODE_DISPLAY_NAME_MAPPINGS
- Fix comment references to use new class names

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-17 11:30:25 +09:00
gear_machineandClaude 142f043a63 Fix import structure: resolve nodes.py/nodes/ directory naming conflict
- Rename nodes/ directory to proportion_changer/ following ComfyUI conventions
- Update __init__.py to use simple relative imports instead of importlib.util
- Fix nodes.py imports to reference .proportion_changer instead of .nodes
- Resolve ImportError caused by Python module vs package name collision
- Follow established ComfyUI custom node patterns (similar to adv_control/)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-17 05:44:00 +09:00