Code covered by the BSD License  

Highlights from
FRETSCAL

image thumbnail

FRETSCAL

by

Eric Muller

 

For the FRET analysis of images of yeast cells labeled with YFP and CFP.

fimage
function fimage
%Version 4/3/09 This opens the window where the user enters the general
%characteristics of the image files, i.e. the naming conventions and the image bit
%depth.

global fontpics bitdepth m5f m5b
global h_Ysuffix h_Fsuffix h_Csuffix h_Dsuffix h_imagefig
global Ysuffix Fsuffix Csuffix Dsuffix darkgreen

m5f = 'black'; m5b = 'white';
x = .3; y = .4; w = .4; h = .4;
h_imagefig = figure('Color', darkgreen, 'units','normalized','name','Image Properties','ToolBar','none','NumberTitle','off','menubar','none','position',[ x y w h ] );
uicontrol( 'units', 'normalized', 'style', 'text', ...
    'string', 'Image bit depth', 'position', [ 1/20 21/24 9/20 1/12 ], 'fontsize', fontpics,'back', m5f, 'fore', m5b );
if bitdepth == 8
    h_image.u0 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '8-bit', ...
        'position', [ 11/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',1);
    h_image.u1 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '12-bit', ...
        'position', [ 14/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',0);
    h_image.u2 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '16-bit', ...
        'position', [ 17/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',0 );
elseif bitdepth == 12
    h_image.u0 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '8-bit', ...
        'position', [ 11/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',0 );
    h_image.u1 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '12-bit', ...
        'position', [ 14/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',1);
    h_image.u2 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '16-bit', ...
        'position', [ 17/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',0 );
else
     h_image.u0 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '8-bit', ...
        'position', [ 11/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',0 );
    h_image.u1 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '12-bit', ...
        'position', [ 14/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',0);
    h_image.u2 = uicontrol( 'units', 'normalized', 'style', 'radiobutton', 'string', '16-bit', ...
        'position', [ 17/20 21/24 .13 1/12 ], 'fontsize', fontpics,'value',1 );
end;
set(  h_image.u0, 'callback', {@fimage_callback, h_image, 1 } );
set(  h_image.u1, 'callback', {@fimage_callback, h_image, 2 } );
set(  h_image.u2, 'callback', {@fimage_callback, h_image, 3 } );
if bitdepth == 8 
    set( h_image.u0, 'value', 1 );
elseif bitdepth == 12
    set( h_image.u1, 'value', 1 );
else
    set( h_image.u2, 'value', 1 );
end

uicontrol( 'units', 'normalized', 'style', 'text', 'string', 'YFP file identifier', 'position', [ 1/20 18/24 9/20 1/12 ], 'fontsize', fontpics,'back', m5f, 'fore', m5b  );
uicontrol( 'units', 'normalized', 'style', 'text', 'string', 'FRET file identifier', 'position', [ 1/20 15/24 9/20 1/12 ], 'fontsize', fontpics,'back', m5f, 'fore', m5b  );
uicontrol( 'units', 'normalized', 'style', 'text', 'string', 'CFP file identifier', 'position', [ 1/20 12/24 9/20 1/12 ], 'fontsize', fontpics,'back', m5f, 'fore', m5b  );
uicontrol( 'units', 'normalized', 'style', 'text', 'string', 'DIC file identifier', 'position', [ 1/20 9/24 9/20 1/12 ], 'fontsize', fontpics,'back', m5f, 'fore', m5b  );
h_Ysuffix = uicontrol(h_imagefig, 'units', 'normalized',...
    'style', 'edit', 'string', Ysuffix, 'position', [ 11/20 18/24 8/20 1/12 ],...
    'back', m5b, 'fore', m5f, 'fontsize', fontpics );
h_Fsuffix = uicontrol(h_imagefig, 'units', 'normalized',...
    'style', 'edit', 'string', Fsuffix, 'position', [ 11/20 15/24 8/20 1/12 ],...
    'back', m5b, 'fore', m5f, 'fontsize', fontpics );
h_Csuffix = uicontrol(h_imagefig, 'units', 'normalized',...
    'style', 'edit', 'string', Csuffix, 'position', [ 11/20 12/24 8/20 1/12 ],...
    'back', m5b, 'fore', m5f, 'fontsize', fontpics );
h_Dsuffix = uicontrol(h_imagefig, 'units', 'normalized',...
    'style', 'edit', 'string', Dsuffix, 'position', [ 11/20 9/24 8/20 1/12 ],...
    'back', m5b, 'fore', m5f, 'fontsize', fontpics );

uicontrol( 'style','pushbutton', 'units', 'normalized',  'string','Done',...
    'position',[ 1/3 4/24 1/3 1/12 ], 'callback',@suffix_callback, 'fontsize', fontpics );

function suffix_callback( gcf, eventdata, handles )
global h_Ysuffix h_Fsuffix h_Csuffix h_Dsuffix h_imagefig
global Ysuffix Fsuffix Csuffix Dsuffix
Ysuffix  = get( h_Ysuffix, 'string' );
splitYx = regexp(Ysuffix,'\ ','freespacing','split');%in case the user accidentally adds spaces to name, they get removed.
Ysuffix = [splitYx{:}];
if(isempty(Ysuffix) == 1)
    Ysuffix = '500_545';
end;
Fsuffix  = get( h_Fsuffix, 'string' );
splitFx = regexp(Fsuffix,'\ ','freespacing','split');
Fsuffix = [splitFx{:}];
if(isempty(Fsuffix) == 1)
    Fsuffix = '440_545';
end;
Csuffix  = get( h_Csuffix, 'string' );
splitCx = regexp(Csuffix,'\ ','freespacing','split');
Csuffix = [splitCx{:}];
if(isempty(Csuffix) == 1)
    Csuffix = '440_480';
end;
Dsuffix  = get( h_Dsuffix, 'string' );
splitDx = regexp(Dsuffix,'\ ','freespacing','split');
Dsuffix = [splitDx{:}];
if(isempty(Dsuffix) == 1)
    Dsuffix = '0_500';
end;
close(h_imagefig)
if strcmp(Ysuffix,Fsuffix) == 1 || strcmp(Ysuffix,Csuffix) == 1 || strcmp(Fsuffix,Csuffix)==1
    fquestimage1;
elseif   strcmp(Dsuffix,Ysuffix) == 1 || strcmp(Dsuffix,Fsuffix) == 1 || strcmp(Dsuffix,Csuffix)== 1
    fquestimage1;%use to be fquestimage2
else
fupdate;
end


function fimage_callback( gcf, eventdata, handles, radio_value )
global bitdepth

switch radio_value
    case 1
        bitdepth = 8;
        set( handles.u0, 'value', 1 ); set( handles.u1, 'value', 0 ); set( handles.u2, 'value', 0 );
     case 2
        bitdepth = 12;
        set( handles.u0, 'value', 0 );set( handles.u1, 'value', 1 ); set( handles.u2, 'value', 0 );   
    case 3
        bitdepth = 16;
        set( handles.u0, 'value', 0 );  set( handles.u1, 'value', 0 );set( handles.u2, 'value', 1 );
end;


Contact us