[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42180] branches/soc-2011-tomato: Camera tracking: presets for default tracking settings
Sergey Sharybin
sergey.vfx at gmail.com
Sat Nov 26 22:09:36 CET 2011
Revision: 42180
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42180
Author: nazgul
Date: 2011-11-26 21:09:29 +0000 (Sat, 26 Nov 2011)
Log Message:
-----------
Camera tracking: presets for default tracking settings
Internal changes are almost finished, changes in the interface need to be discussed.
Modified Paths:
--------------
branches/soc-2011-tomato/release/scripts/startup/bl_operators/presets.py
branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h
branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c
branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
branches/soc-2011-tomato/source/blender/makesdna/DNA_tracking_types.h
branches/soc-2011-tomato/source/blender/makesrna/intern/rna_tracking.c
Added Paths:
-----------
branches/soc-2011-tomato/release/scripts/presets/tracking_settings/
branches/soc-2011-tomato/release/scripts/presets/tracking_settings/blurry_movie.py
branches/soc-2011-tomato/release/scripts/presets/tracking_settings/default.py
branches/soc-2011-tomato/release/scripts/presets/tracking_settings/fast_motion.py
Added: branches/soc-2011-tomato/release/scripts/presets/tracking_settings/blurry_movie.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/presets/tracking_settings/blurry_movie.py (rev 0)
+++ branches/soc-2011-tomato/release/scripts/presets/tracking_settings/blurry_movie.py 2011-11-26 21:09:29 UTC (rev 42180)
@@ -0,0 +1,8 @@
+import bpy
+settings = bpy.context.edit_movieclip.tracking.settings
+
+settings.default_tracker = 'KLT'
+settings.default_pyramid_levels = 4
+settings.default_correlation_min = 0.75
+settings.default_pattern_size = 11
+settings.default_search_size = 202
Added: branches/soc-2011-tomato/release/scripts/presets/tracking_settings/default.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/presets/tracking_settings/default.py (rev 0)
+++ branches/soc-2011-tomato/release/scripts/presets/tracking_settings/default.py 2011-11-26 21:09:29 UTC (rev 42180)
@@ -0,0 +1,8 @@
+import bpy
+settings = bpy.context.edit_movieclip.tracking.settings
+
+settings.default_tracker = 'KLT'
+settings.default_pyramid_levels = 2
+settings.default_correlation_min = 0.75
+settings.default_pattern_size = 11
+settings.default_search_size = 51
Added: branches/soc-2011-tomato/release/scripts/presets/tracking_settings/fast_motion.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/presets/tracking_settings/fast_motion.py (rev 0)
+++ branches/soc-2011-tomato/release/scripts/presets/tracking_settings/fast_motion.py 2011-11-26 21:09:29 UTC (rev 42180)
@@ -0,0 +1,8 @@
+import bpy
+settings = bpy.context.edit_movieclip.tracking.settings
+
+settings.default_tracker = 'KLT'
+settings.default_pyramid_levels = 2
+settings.default_correlation_min = 0.75
+settings.default_pattern_size = 11
+settings.default_search_size = 121
Modified: branches/soc-2011-tomato/release/scripts/startup/bl_operators/presets.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_operators/presets.py 2011-11-26 20:58:53 UTC (rev 42179)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_operators/presets.py 2011-11-26 21:09:29 UTC (rev 42180)
@@ -360,6 +360,27 @@
preset_subdir = "tracking_track_color"
+class AddPresetTrackingSettings(AddPresetBase, Operator):
+ '''Add a motion tracking settings preset'''
+ bl_idname = "clip.tracking_settings_preset_add"
+ bl_label = "Add Tracking Settings Preset"
+ preset_menu = "CLIP_MT_tracking_settings_presets"
+
+ preset_defines = [
+ "settings = bpy.context.edit_movieclip.tracking.settings"
+ ]
+
+ preset_values = [
+ "settings.default_tracker",
+ "settings.default_pyramid_levels",
+ "settings.default_correlation_min",
+ "settings.default_pattern_size",
+ "settings.default_search_size",
+ ]
+
+ preset_subdir = "tracking_settings"
+
+
class AddPresetKeyconfig(AddPresetBase, Operator):
'''Add a Keyconfig Preset'''
bl_idname = "wm.keyconfig_preset_add"
Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py 2011-11-26 20:58:53 UTC (rev 42179)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py 2011-11-26 21:09:29 UTC (rev 42180)
@@ -92,6 +92,9 @@
return clip and sc.mode == 'TRACKING'
def draw(self, context):
+ sc = context.space_data
+ clip = sc.clip
+ settings = clip.tracking.settings
layout = self.layout
col = layout.column(align=True)
@@ -99,7 +102,37 @@
col.operator("clip.detect_features")
col.operator("clip.delete_track")
+ box = layout.box()
+ row = box.row(align=True)
+ row.prop(settings, "show_default_expanded", text="", emboss=False)
+ row.label(text="Default Settings")
+ if settings.show_default_expanded:
+ col = box.column()
+ row = col.row(align=True)
+ label = bpy.types.CLIP_MT_tracking_settings_presets.bl_label
+ row.menu('CLIP_MT_tracking_settings_presets', text=label)
+ row.operator("clip.tracking_settings_preset_add",
+ text="", icon='ZOOMIN')
+ props = row.operator("clip.track_color_preset_add",
+ text="", icon='ZOOMOUT')
+ props.remove_active = True
+
+ col.separator()
+
+ col2 = col.column(align=True)
+ col2.prop(settings, "default_pattern_size")
+ col2.prop(settings, "default_search_size")
+
+ col.label(text="Tracker:")
+ col.prop(settings, "default_tracker", text="")
+
+ if settings.default_tracker == 'KLT':
+ col.prop(settings, "default_pyramid_levels")
+ else:
+ col.prop(settings, "default_correlation_min")
+
+
class CLIP_PT_tools_tracking(Panel):
bl_space_type = 'CLIP_EDITOR'
bl_region_type = 'TOOLS'
@@ -447,20 +480,26 @@
clip = context.space_data.clip
settings = clip.tracking.settings
+ col = layout.column()
+
active = clip.tracking.tracks.active
if active:
- layout.prop(active, "tracker")
+ col.prop(active, "tracker")
+
if active.tracker == 'KLT':
- layout.prop(active, "pyramid_levels")
+ col.prop(active, "pyramid_levels")
elif active.tracker == 'SAD':
- layout.prop(active, "correlation_min")
+ col.prop(active, "correlation_min")
- layout.prop(settings, "frames_adjust")
- layout.prop(settings, "speed")
- layout.prop(settings, "frames_limit")
- layout.prop(settings, "margin")
+ col.separator()
+ col.label(text="Global Settings:")
+ col.prop(settings, "speed")
+ col.prop(settings, "frames_adjust")
+ col.prop(settings, "frames_limit")
+ col.prop(settings, "margin")
+
class CLIP_PT_stabilization(Panel):
bl_space_type = 'CLIP_EDITOR'
bl_region_type = 'UI'
@@ -866,6 +905,14 @@
draw = bpy.types.Menu.draw_preset
+class CLIP_MT_tracking_settings_presets(Menu):
+ """Predefined track color"""
+ bl_label = "Tracking Settings"
+ preset_subdir = "tracking_settings"
+ preset_operator = "script.execute_preset"
+ draw = bpy.types.Menu.draw_preset
+
+
class CLIP_MT_track_color_specials(Menu):
bl_label = "Track Color Specials"
Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h 2011-11-26 20:58:53 UTC (rev 42179)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h 2011-11-26 21:09:29 UTC (rev 42180)
@@ -45,6 +45,7 @@
struct Object;
struct Scene;
+void BKE_tracking_init_settings(struct MovieTracking *tracking);
void BKE_tracking_clamp_track(struct MovieTrackingTrack *track, int event);
void BKE_tracking_track_flag(struct MovieTrackingTrack *track, int area, int flag, int clear);
Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c 2011-11-26 20:58:53 UTC (rev 42179)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c 2011-11-26 21:09:29 UTC (rev 42180)
@@ -369,20 +369,8 @@
clip->aspx= clip->aspy= 1.0f;
- clip->tracking.camera.sensor_width= 35.0f;
- clip->tracking.camera.pixel_aspect= 1.0f;
- clip->tracking.camera.units= CAMERA_UNITS_MM;
+ BKE_tracking_init_settings(&clip->tracking);
- clip->tracking.settings.frames_limit= 0;
- clip->tracking.settings.keyframe1= 1;
- clip->tracking.settings.keyframe2= 30;
- clip->tracking.settings.dist= 1;
-
- clip->tracking.stabilization.scaleinf= 1.0f;
- clip->tracking.stabilization.locinf= 1.0f;
- clip->tracking.stabilization.rotinf= 1.0f;
- clip->tracking.stabilization.maxscale= 2.0f;
-
clip->proxy.build_size_flag= IMB_PROXY_25;
clip->proxy.build_tc_flag= IMB_TC_RECORD_RUN|IMB_TC_FREE_RUN|IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN;
clip->proxy.quality= 90;
Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c 2011-11-26 20:58:53 UTC (rev 42179)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c 2011-11-26 21:09:29 UTC (rev 42180)
@@ -70,14 +70,38 @@
/*********************** common functions *************************/
+void BKE_tracking_init_settings(MovieTracking *tracking)
+{
+ tracking->camera.sensor_width= 35.0f;
+ tracking->camera.pixel_aspect= 1.0f;
+ tracking->camera.units= CAMERA_UNITS_MM;
+
+ tracking->settings.default_tracker= TRACKER_KLT;
+ tracking->settings.default_pyramid_levels= 2;
+ tracking->settings.default_minimum_correlation= 0.75;
+ tracking->settings.default_pattern_size= 11;
+ tracking->settings.default_search_size= 51;
+ tracking->settings.default_pyramid_levels= 2;
+ tracking->settings.frames_limit= 0;
+ tracking->settings.keyframe1= 1;
+ tracking->settings.keyframe2= 30;
+ tracking->settings.dist= 1;
+
+ tracking->stabilization.scaleinf= 1.0f;
+ tracking->stabilization.locinf= 1.0f;
+ tracking->stabilization.rotinf= 1.0f;
+ tracking->stabilization.maxscale= 2.0f;
+}
+
void BKE_tracking_clamp_track(MovieTrackingTrack *track, int event)
{
int a;
float pat_min[2];
float pat_max[2];
float max_pyramid_level_factor = 1.0;
+
if (track->tracker == TRACKER_KLT) {
- max_pyramid_level_factor = 1 << (track->pyramid_levels - 1);
+ max_pyramid_level_factor= 1 << (track->pyramid_levels - 1);
}
/* sort */
@@ -146,7 +170,7 @@
float dim[2];
sub_v2_v2v2(dim, track->pat_max, track->pat_min);
{
- float search_ratio = 2.3f * max_pyramid_level_factor;
+ float search_ratio= 2.3f * max_pyramid_level_factor;
/* resize the search area to something sensible based
* on the number of pyramid levels */
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list