Month: June 2024
Granular RBAC permissions for endpoint security workloads
By: Laura Arrizza – Sr Product Manager | Microsoft Intune
The built-in role ‘Endpoint Security Manager’ is used to manage policies and features within the Microsoft Intune admin center Endpoint security blade or, admin actions can be limited by using the custom role with the ‘Security baselines’ permission.
With Intune’s June (2406) release, we’ll begin adding new permissions for each endpoint security workload to allow for additional granularity and control. The ‘Security baselines’ permission previously included all security policies and now, it will only include security workloads that do not have their own permission.
New granular permissions
In the first iteration, granular permissions are now available with 2406 for the following security workloads:
Endpoint detection and response
App Control for Business
Attack surface reduction
The remaining security workloads will continue to be applicable under the existing ‘Security baseline’ permission until they’re made available as granular controls in a future release.
Admins can take advantage of these changes by creating a new Intune role via ‘Tenant administration’ with the appropriate access rights. An example of this can be found below:
The behavior of these rights continues to mirror the same as those within the ‘Security baselines’ permission – the main difference being that it applies to the security policies within the security workload.
Existing RBAC roles
There’s no change in functionality for built-in roles that contain the ‘Security baselines’ permission. This includes ‘Endpoint Security Manager’, ‘Read Only Operator’, and ‘Help Desk Operator’.
If you’re using custom RBAC roles with the ‘Security baseline’ permission, the new permissions will automatically be assigned to ensure your admins continue to have the same access they have today. For example, if an admin has been assigned a custom role with ‘Security baselines/Read’ permission, that role would include the new permissions, such as ‘Attack surface reduction/Read’. The ‘Security baselines/Read’ would still be applicable for viewing Security baselines, Antivirus, Disk encryption, Firewall, and Account protection policies.
Considerations
The granular permissions at the security workload level will continue to have the same permission structure as Security baselines does today. This includes management of the security policies within those workloads, which may contain overlapping settings in other types of policies (like Security baseline policies or settings catalog policies) which are governed by separate RBAC permissions.
Specifically, for the Attack surface reduction security workload, a subset of security policies will continue to be covered by the existing ‘Security baselines’ permission and not the new ‘Attack surface reduction’ permission. The following templates continue to be covered by existing ‘Security baselines’ permission:
Windows App and browser isolation
Windows Web protection
Windows Application control
Windows Exploit protection
The same permission changes will apply to the Microsoft Defender portal for security policy management.
If you have any questions, leave a comment below or reach out to us on X @IntuneSuppTeam. Stay tuned to What’s new in Intune for the release of additional endpoint security permissions.
Microsoft Tech Community – Latest Blogs –Read More
Excel Macro coding help
Im new on this platform and I am trying to set up a new Excel document where I can transfer rows from one table to another table if one column reads a particular word.
Can anyone help me?
Thanks in advance
Im new on this platform and I am trying to set up a new Excel document where I can transfer rows from one table to another table if one column reads a particular word. Can anyone help me? Thanks in advance Read More
How to transcribe a Windows Media Player audio file to text in Word
Hello, I work for a company in which it would be extremely valuable to be able to transcribe voicemail messages from my Avaya IP phone to text. The I.T. department says these phones do not have this ability. However, I know the voicemail messages can be converted to a Windows Media player audio file, and that file can be emailed to an employee. I’m wondering if anyone has step by step instructions for converting a Windows Media Player audio file to transcribed text ???
That would be so helpful! Thank you if you can offer any advice.
Hello, I work for a company in which it would be extremely valuable to be able to transcribe voicemail messages from my Avaya IP phone to text. The I.T. department says these phones do not have this ability. However, I know the voicemail messages can be converted to a Windows Media player audio file, and that file can be emailed to an employee. I’m wondering if anyone has step by step instructions for converting a Windows Media Player audio file to transcribed text ???That would be so helpful! Thank you if you can offer any advice. Read More
Permissions per person in sharepoint
Hello, I hope you are well.
I would like to know if there is a way to see all the permissions a person has on all sites, folders, lists, etc. in sharepoint, without having to go site by site looking at that person’s permissions.
I hope I have explained myself and that you can help me! Thank you so much.
Hello, I hope you are well.I would like to know if there is a way to see all the permissions a person has on all sites, folders, lists, etc. in sharepoint, without having to go site by site looking at that person’s permissions.I hope I have explained myself and that you can help me! Thank you so much. Read More
Accessibility checker doesn’t recognize my custom heading styles
I’ve recently reformatted a large document and applied custom heading styles throughout. I was able to generate a TOC just fine, but the accessibility checker tells me that there are no headings in the document. Any ideas as to why?
I do not want to use the built-in styles for this document. I created new styles because I want a completely different look than the built-in styles. The document also includes a custom multi-level list where each level is already associated with the custom styles I created. Any help would be appreciated!
I’ve recently reformatted a large document and applied custom heading styles throughout. I was able to generate a TOC just fine, but the accessibility checker tells me that there are no headings in the document. Any ideas as to why? I do not want to use the built-in styles for this document. I created new styles because I want a completely different look than the built-in styles. The document also includes a custom multi-level list where each level is already associated with the custom styles I created. Any help would be appreciated! Read More
Why my loaded georeferenced GeoTIFF is not displaying in 3D scene when successfully loaded?
I am trying to load my georefferenced GeoTIFF into RoadRunner 2024a (see attached Ortho.zip). When loading the attached Ortho.tif I get error/warnings and the imagery is not displaying in 3D scene (see error messages GeoTIFF_not_loading.png). Thanks for any suggestion how to solve it.I am trying to load my georefferenced GeoTIFF into RoadRunner 2024a (see attached Ortho.zip). When loading the attached Ortho.tif I get error/warnings and the imagery is not displaying in 3D scene (see error messages GeoTIFF_not_loading.png). Thanks for any suggestion how to solve it. I am trying to load my georefferenced GeoTIFF into RoadRunner 2024a (see attached Ortho.zip). When loading the attached Ortho.tif I get error/warnings and the imagery is not displaying in 3D scene (see error messages GeoTIFF_not_loading.png). Thanks for any suggestion how to solve it. geotiff, loading, error MATLAB Answers — New Questions
sbiofit ability to estimate the parameter for 3 different cases at the same time
Hi,
I wrote the code below for estimation of KD from the binding assay for three different cell lines: i.e. bxpc3, colo205, T84 which have different number of antigen molecule on their surface. The code properly work for estimation of kD spearately for each cell line.
How can I estimate the kD as one value for different cell lines at the same time?
I attached my excel file (exp.xlsx) in which each cell line data has been stored in a spearted sheet.
Thanks
%% Setup Model
case_study = ‘T84’; % ‘bxpc3’ ‘colo205’ ‘T84’
model_input_file=’exp.xlsx’
switch case_study
case ‘bxpc3’
exp_data=readtable(model_input_file,’Sheet’,’bxpc3′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 11.1 33.3 100 300];
RPC_Ag_Tumor = 219202;
case ‘colo205’
exp_data=readtable(model_input_file,’Sheet’,’colo205′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 3.7 11.1 33.3 100];
RPC_Ag_Tumor = 662642;
case ‘T84’
exp_data=readtable(model_input_file,’Sheet’,’T84′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 3.7 11.1 33.3 100 300];
RPC_Ag_Tumor = 169163;
end
data = structfun( @rmmissing , data , ‘UniformOutput’ , false);
setup; % (I build the model here)
%% Data Import
gData = groupedData(exp_data);
gData.Properties.VariableUnits = {”,’second’,’nanomole’,’dimensionless’};
gData.Properties.GroupVariableName = ‘ID’;
gData.Properties.IndependentVariableName = ‘Time’;
sbiotrellis(gData,’ID’,’Time’,{‘RO_exp’},’Marker’,’+’,’LineStyle’,’none’);
% Extract data columns into separate variables for the weight expression
% evaluation.
headings = exp_data.Properties.VariableNames;
for i=1:length(headings)
next = headings{i};
eval([next ‘ = exp_data. ‘ next ‘;’]);
end
%% Create the data dose.
d2 = sbiodose(‘dose’);
d2.TargetName = ‘Ab’;
d2.LagParameterName = ”;
d2 = createDoses(gData, ‘dose’, ”, d2);
% Build table of doses.
d2 = num2cell(d2);
dosesForFit = d2;
%% Fitting options
% Define response information.
responseMap = {‘RO = RO_exp’};
% Define objects being estimated and their initial estimates.
estimatedInfoObj = estimatedInfo({‘kD_Ab’});
% estimatedInfoObj = estimatedInfo({‘k_max’, ‘EC50’});
estimatedInfoObj(1).Bounds = [1E-1 1E2];
% estimatedInfoObj(2).Bounds = [1E-6 1E-4];
% Define Algorithm options.
options = optimoptions(‘particleswarm’);
options.Display= ‘iter’;
% Define fit problem.
f = fitproblem(‘FitFunction’, ‘sbiofit’);
f.Data = gData;
f.Model = model;
f.Estimated = estimatedInfoObj;
f.ErrorModel = ‘exponential’;
f.ResponseMap = responseMap;
f.Weights = [];
f.Doses = dosesForFit;
f.FunctionName = ‘particleswarm’;
f.Options = options;
f.ProgressPlot = true;
f.UseParallel = false;
f.Pooled = true;
%% Run the model with optimum parameters
fitResults = f.fit;
plot(fitResults)
ci = sbiopredictionci(fitResults);
plot(ci)
ciParam = sbioparameterci(fitResults);
ci2table(ciParam)
plot(ciParam)
fitResults.ParameterEstimates
%update parameters
for i=1:length(estimatedInfoObj)
xopt = sbioselect(model,’Name’,fitResults.EstimatedParameterNames{i});
xopt.value = fitResults.ParameterEstimates.Estimate(i);
end
params = {‘Ab0’};
obs = {‘RO’};
input=dose(~isnan(dose));
RO_exp = RO_exp(~isnan(RO_exp));
sfxn = createSimFunction(model, params, obs, d1,’UseParallel’,false,’AutoAccelerate’,false);
sfxn.accelerate;
doseTable = getTable(d1);
simData=sfxn(input,configsetObj.StopTime,doseTable);
%% Plot
fontsize = 18;
linesize = 2;
markersize = 10;
f = figure(‘Position’, [14 10 900 600]);
colors = ["k", "#D95319", "#A2142F", "#77AC30", "#7E2F8E", "#00CED1", "#FF1493"]; % Define an array of colors
set(f, ‘Visible’, ‘on’);
set(gca,’fontsize’, fontsize);
hold on;
box on;
grid on;
set(gca, ‘XScale’, ‘log’);
%set(gca, ‘YScale’, ‘log’);
for i = 1:size(input,1)
if i < size(input,1)
line([input1(i) input1(i+1)], [simData(i).Data(end) simData(i+1).Data(end)], ‘Color’, colors(3),’LineWidth’, 2);
end
% plot(input1(i), simData(i).Data(end), ‘O’, ‘MarkerEdgeColor’, colors(3), ‘MarkerFaceColor’, colors(3), ‘markersize’, markersize);
plot(input1(i), RO_exp(i), ‘O’, ‘MarkerEdgeColor’, colors(4), ‘MarkerFaceColor’, colors(4), ‘markersize’, markersize);
end
xlabel(‘Dose (ug/mL)’, ‘fontweight’, ‘bold’, ‘Fontsize’, fontsize, ‘Interpreter’, ‘none’);
ylabel(‘RO (%)’, ‘fontweight’, ‘bold’, ‘Fontsize’, fontsize);
legend(‘Simulation’,’Experiment’ , ‘NumColumns’, 1, ‘Location’, ‘best’, ‘FontSize’, fontsize)
saveas(gca, fullfile(save_locations{2}, ‘RO’), ‘png’);
close(f);Hi,
I wrote the code below for estimation of KD from the binding assay for three different cell lines: i.e. bxpc3, colo205, T84 which have different number of antigen molecule on their surface. The code properly work for estimation of kD spearately for each cell line.
How can I estimate the kD as one value for different cell lines at the same time?
I attached my excel file (exp.xlsx) in which each cell line data has been stored in a spearted sheet.
Thanks
%% Setup Model
case_study = ‘T84’; % ‘bxpc3’ ‘colo205’ ‘T84’
model_input_file=’exp.xlsx’
switch case_study
case ‘bxpc3’
exp_data=readtable(model_input_file,’Sheet’,’bxpc3′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 11.1 33.3 100 300];
RPC_Ag_Tumor = 219202;
case ‘colo205’
exp_data=readtable(model_input_file,’Sheet’,’colo205′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 3.7 11.1 33.3 100];
RPC_Ag_Tumor = 662642;
case ‘T84’
exp_data=readtable(model_input_file,’Sheet’,’T84′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 3.7 11.1 33.3 100 300];
RPC_Ag_Tumor = 169163;
end
data = structfun( @rmmissing , data , ‘UniformOutput’ , false);
setup; % (I build the model here)
%% Data Import
gData = groupedData(exp_data);
gData.Properties.VariableUnits = {”,’second’,’nanomole’,’dimensionless’};
gData.Properties.GroupVariableName = ‘ID’;
gData.Properties.IndependentVariableName = ‘Time’;
sbiotrellis(gData,’ID’,’Time’,{‘RO_exp’},’Marker’,’+’,’LineStyle’,’none’);
% Extract data columns into separate variables for the weight expression
% evaluation.
headings = exp_data.Properties.VariableNames;
for i=1:length(headings)
next = headings{i};
eval([next ‘ = exp_data. ‘ next ‘;’]);
end
%% Create the data dose.
d2 = sbiodose(‘dose’);
d2.TargetName = ‘Ab’;
d2.LagParameterName = ”;
d2 = createDoses(gData, ‘dose’, ”, d2);
% Build table of doses.
d2 = num2cell(d2);
dosesForFit = d2;
%% Fitting options
% Define response information.
responseMap = {‘RO = RO_exp’};
% Define objects being estimated and their initial estimates.
estimatedInfoObj = estimatedInfo({‘kD_Ab’});
% estimatedInfoObj = estimatedInfo({‘k_max’, ‘EC50’});
estimatedInfoObj(1).Bounds = [1E-1 1E2];
% estimatedInfoObj(2).Bounds = [1E-6 1E-4];
% Define Algorithm options.
options = optimoptions(‘particleswarm’);
options.Display= ‘iter’;
% Define fit problem.
f = fitproblem(‘FitFunction’, ‘sbiofit’);
f.Data = gData;
f.Model = model;
f.Estimated = estimatedInfoObj;
f.ErrorModel = ‘exponential’;
f.ResponseMap = responseMap;
f.Weights = [];
f.Doses = dosesForFit;
f.FunctionName = ‘particleswarm’;
f.Options = options;
f.ProgressPlot = true;
f.UseParallel = false;
f.Pooled = true;
%% Run the model with optimum parameters
fitResults = f.fit;
plot(fitResults)
ci = sbiopredictionci(fitResults);
plot(ci)
ciParam = sbioparameterci(fitResults);
ci2table(ciParam)
plot(ciParam)
fitResults.ParameterEstimates
%update parameters
for i=1:length(estimatedInfoObj)
xopt = sbioselect(model,’Name’,fitResults.EstimatedParameterNames{i});
xopt.value = fitResults.ParameterEstimates.Estimate(i);
end
params = {‘Ab0’};
obs = {‘RO’};
input=dose(~isnan(dose));
RO_exp = RO_exp(~isnan(RO_exp));
sfxn = createSimFunction(model, params, obs, d1,’UseParallel’,false,’AutoAccelerate’,false);
sfxn.accelerate;
doseTable = getTable(d1);
simData=sfxn(input,configsetObj.StopTime,doseTable);
%% Plot
fontsize = 18;
linesize = 2;
markersize = 10;
f = figure(‘Position’, [14 10 900 600]);
colors = ["k", "#D95319", "#A2142F", "#77AC30", "#7E2F8E", "#00CED1", "#FF1493"]; % Define an array of colors
set(f, ‘Visible’, ‘on’);
set(gca,’fontsize’, fontsize);
hold on;
box on;
grid on;
set(gca, ‘XScale’, ‘log’);
%set(gca, ‘YScale’, ‘log’);
for i = 1:size(input,1)
if i < size(input,1)
line([input1(i) input1(i+1)], [simData(i).Data(end) simData(i+1).Data(end)], ‘Color’, colors(3),’LineWidth’, 2);
end
% plot(input1(i), simData(i).Data(end), ‘O’, ‘MarkerEdgeColor’, colors(3), ‘MarkerFaceColor’, colors(3), ‘markersize’, markersize);
plot(input1(i), RO_exp(i), ‘O’, ‘MarkerEdgeColor’, colors(4), ‘MarkerFaceColor’, colors(4), ‘markersize’, markersize);
end
xlabel(‘Dose (ug/mL)’, ‘fontweight’, ‘bold’, ‘Fontsize’, fontsize, ‘Interpreter’, ‘none’);
ylabel(‘RO (%)’, ‘fontweight’, ‘bold’, ‘Fontsize’, fontsize);
legend(‘Simulation’,’Experiment’ , ‘NumColumns’, 1, ‘Location’, ‘best’, ‘FontSize’, fontsize)
saveas(gca, fullfile(save_locations{2}, ‘RO’), ‘png’);
close(f); Hi,
I wrote the code below for estimation of KD from the binding assay for three different cell lines: i.e. bxpc3, colo205, T84 which have different number of antigen molecule on their surface. The code properly work for estimation of kD spearately for each cell line.
How can I estimate the kD as one value for different cell lines at the same time?
I attached my excel file (exp.xlsx) in which each cell line data has been stored in a spearted sheet.
Thanks
%% Setup Model
case_study = ‘T84’; % ‘bxpc3’ ‘colo205’ ‘T84’
model_input_file=’exp.xlsx’
switch case_study
case ‘bxpc3’
exp_data=readtable(model_input_file,’Sheet’,’bxpc3′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 11.1 33.3 100 300];
RPC_Ag_Tumor = 219202;
case ‘colo205’
exp_data=readtable(model_input_file,’Sheet’,’colo205′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 3.7 11.1 33.3 100];
RPC_Ag_Tumor = 662642;
case ‘T84’
exp_data=readtable(model_input_file,’Sheet’,’T84′);
data.dose = exp_data.dose;
data.ro = exp_data.RO_exp;
input1=[0.1 0.4 1.2 3.7 11.1 33.3 100 300];
RPC_Ag_Tumor = 169163;
end
data = structfun( @rmmissing , data , ‘UniformOutput’ , false);
setup; % (I build the model here)
%% Data Import
gData = groupedData(exp_data);
gData.Properties.VariableUnits = {”,’second’,’nanomole’,’dimensionless’};
gData.Properties.GroupVariableName = ‘ID’;
gData.Properties.IndependentVariableName = ‘Time’;
sbiotrellis(gData,’ID’,’Time’,{‘RO_exp’},’Marker’,’+’,’LineStyle’,’none’);
% Extract data columns into separate variables for the weight expression
% evaluation.
headings = exp_data.Properties.VariableNames;
for i=1:length(headings)
next = headings{i};
eval([next ‘ = exp_data. ‘ next ‘;’]);
end
%% Create the data dose.
d2 = sbiodose(‘dose’);
d2.TargetName = ‘Ab’;
d2.LagParameterName = ”;
d2 = createDoses(gData, ‘dose’, ”, d2);
% Build table of doses.
d2 = num2cell(d2);
dosesForFit = d2;
%% Fitting options
% Define response information.
responseMap = {‘RO = RO_exp’};
% Define objects being estimated and their initial estimates.
estimatedInfoObj = estimatedInfo({‘kD_Ab’});
% estimatedInfoObj = estimatedInfo({‘k_max’, ‘EC50’});
estimatedInfoObj(1).Bounds = [1E-1 1E2];
% estimatedInfoObj(2).Bounds = [1E-6 1E-4];
% Define Algorithm options.
options = optimoptions(‘particleswarm’);
options.Display= ‘iter’;
% Define fit problem.
f = fitproblem(‘FitFunction’, ‘sbiofit’);
f.Data = gData;
f.Model = model;
f.Estimated = estimatedInfoObj;
f.ErrorModel = ‘exponential’;
f.ResponseMap = responseMap;
f.Weights = [];
f.Doses = dosesForFit;
f.FunctionName = ‘particleswarm’;
f.Options = options;
f.ProgressPlot = true;
f.UseParallel = false;
f.Pooled = true;
%% Run the model with optimum parameters
fitResults = f.fit;
plot(fitResults)
ci = sbiopredictionci(fitResults);
plot(ci)
ciParam = sbioparameterci(fitResults);
ci2table(ciParam)
plot(ciParam)
fitResults.ParameterEstimates
%update parameters
for i=1:length(estimatedInfoObj)
xopt = sbioselect(model,’Name’,fitResults.EstimatedParameterNames{i});
xopt.value = fitResults.ParameterEstimates.Estimate(i);
end
params = {‘Ab0’};
obs = {‘RO’};
input=dose(~isnan(dose));
RO_exp = RO_exp(~isnan(RO_exp));
sfxn = createSimFunction(model, params, obs, d1,’UseParallel’,false,’AutoAccelerate’,false);
sfxn.accelerate;
doseTable = getTable(d1);
simData=sfxn(input,configsetObj.StopTime,doseTable);
%% Plot
fontsize = 18;
linesize = 2;
markersize = 10;
f = figure(‘Position’, [14 10 900 600]);
colors = ["k", "#D95319", "#A2142F", "#77AC30", "#7E2F8E", "#00CED1", "#FF1493"]; % Define an array of colors
set(f, ‘Visible’, ‘on’);
set(gca,’fontsize’, fontsize);
hold on;
box on;
grid on;
set(gca, ‘XScale’, ‘log’);
%set(gca, ‘YScale’, ‘log’);
for i = 1:size(input,1)
if i < size(input,1)
line([input1(i) input1(i+1)], [simData(i).Data(end) simData(i+1).Data(end)], ‘Color’, colors(3),’LineWidth’, 2);
end
% plot(input1(i), simData(i).Data(end), ‘O’, ‘MarkerEdgeColor’, colors(3), ‘MarkerFaceColor’, colors(3), ‘markersize’, markersize);
plot(input1(i), RO_exp(i), ‘O’, ‘MarkerEdgeColor’, colors(4), ‘MarkerFaceColor’, colors(4), ‘markersize’, markersize);
end
xlabel(‘Dose (ug/mL)’, ‘fontweight’, ‘bold’, ‘Fontsize’, fontsize, ‘Interpreter’, ‘none’);
ylabel(‘RO (%)’, ‘fontweight’, ‘bold’, ‘Fontsize’, fontsize);
legend(‘Simulation’,’Experiment’ , ‘NumColumns’, 1, ‘Location’, ‘best’, ‘FontSize’, fontsize)
saveas(gca, fullfile(save_locations{2}, ‘RO’), ‘png’);
close(f); sbiofit, simbiology MATLAB Answers — New Questions
Degrade image with known MTF to another desired MTF
Hi folks,
I want to be able to degrade an image captured by a camera system with known MTF to another hypothetical desired MTF. I thought I would start by blurring an image with a gaussian PSF and try and extract its MTF from the final image.
MTF_output = MTF_input*MTF_blur
Right now, MTF_output and MTF_input can be calculated from the slanted edge image I have. Eventually, I will generate MTF_blur from the desired MTF_output I want. This to prove the math works out.
I calculate MTF_blur two ways.
1) The ratio MTF_output./MTF_input.
2) Extracted from the PSF used to blur the image.
The problem is both methods don’t match.
I think I may be missing something regarding scaling to my optical system or perhaps frequency units. I have no specific camera parameters in this code, although the system is ~3 pixels per degree.
Thanks in advance!
% Read in image and convert to mono double.
img = imread(‘img_input.png’);
img = double(rgb2gray(img));
% Crop to edge and perform slanted edge MTF calc
rect = [308.51 198.51 62.98 51.98];
img_cropped = imcrop(img,rect);
[~, data,~, ~, ~, ~, ~] = sfrmat3(1, 1, [], img_cropped);
freq = data(:,1);
mtf_input = data(:,2);
% Generate PSF used to degrade the image
PSF = fspecial(‘gaussian’,13,1);
% Convert the PSF to an Optical Transfer Function (OTF).
OTF = psf2otf(PSF,[31 31]);
% Extract the MTF from OTF:
MTF_blur_fromPSF = diag(OTF); % Should be circular symmetric, but OTF is a square matrix.
% Blur Image
img_blurred = conv2(img,PSF,’same’); % apply convolution to entire image to avoid edge artifacts
% Crop to edge and perform slanted edge MTF calc
img_blurred_crop = imcrop(img_blurred,rect);
[~, data,~, ~, ~, ~, ~] = sfrmat3(1, 1, [], img_blurred_crop);
freq_output = data(:,1);
mtf_output = data(:,2);
plot(freq, mtf_input); hold on; plot(freq_output, mtf_output);
MTF_blur_fromRatio = mtf_output./mtf_input;
plot(freq,MTF_blur_fromRatio)
axis([0 0.5 0 1])
plot(linspace(0,1,length(MTF_blur_fromPSF)),MTF_blur_fromPSF) % assuming MTF_blur_fromPSF is 0-1 1/pixel units
xlabel(‘Frequency [cy/px]’)
ylabel(‘MTF Response’)
legend(‘Original MTF’,’Blurred MTF’,’MTF_blur_fromRatio’,’MTF_blur_fromPSF’,’Interpreter’, ‘none’)Hi folks,
I want to be able to degrade an image captured by a camera system with known MTF to another hypothetical desired MTF. I thought I would start by blurring an image with a gaussian PSF and try and extract its MTF from the final image.
MTF_output = MTF_input*MTF_blur
Right now, MTF_output and MTF_input can be calculated from the slanted edge image I have. Eventually, I will generate MTF_blur from the desired MTF_output I want. This to prove the math works out.
I calculate MTF_blur two ways.
1) The ratio MTF_output./MTF_input.
2) Extracted from the PSF used to blur the image.
The problem is both methods don’t match.
I think I may be missing something regarding scaling to my optical system or perhaps frequency units. I have no specific camera parameters in this code, although the system is ~3 pixels per degree.
Thanks in advance!
% Read in image and convert to mono double.
img = imread(‘img_input.png’);
img = double(rgb2gray(img));
% Crop to edge and perform slanted edge MTF calc
rect = [308.51 198.51 62.98 51.98];
img_cropped = imcrop(img,rect);
[~, data,~, ~, ~, ~, ~] = sfrmat3(1, 1, [], img_cropped);
freq = data(:,1);
mtf_input = data(:,2);
% Generate PSF used to degrade the image
PSF = fspecial(‘gaussian’,13,1);
% Convert the PSF to an Optical Transfer Function (OTF).
OTF = psf2otf(PSF,[31 31]);
% Extract the MTF from OTF:
MTF_blur_fromPSF = diag(OTF); % Should be circular symmetric, but OTF is a square matrix.
% Blur Image
img_blurred = conv2(img,PSF,’same’); % apply convolution to entire image to avoid edge artifacts
% Crop to edge and perform slanted edge MTF calc
img_blurred_crop = imcrop(img_blurred,rect);
[~, data,~, ~, ~, ~, ~] = sfrmat3(1, 1, [], img_blurred_crop);
freq_output = data(:,1);
mtf_output = data(:,2);
plot(freq, mtf_input); hold on; plot(freq_output, mtf_output);
MTF_blur_fromRatio = mtf_output./mtf_input;
plot(freq,MTF_blur_fromRatio)
axis([0 0.5 0 1])
plot(linspace(0,1,length(MTF_blur_fromPSF)),MTF_blur_fromPSF) % assuming MTF_blur_fromPSF is 0-1 1/pixel units
xlabel(‘Frequency [cy/px]’)
ylabel(‘MTF Response’)
legend(‘Original MTF’,’Blurred MTF’,’MTF_blur_fromRatio’,’MTF_blur_fromPSF’,’Interpreter’, ‘none’) Hi folks,
I want to be able to degrade an image captured by a camera system with known MTF to another hypothetical desired MTF. I thought I would start by blurring an image with a gaussian PSF and try and extract its MTF from the final image.
MTF_output = MTF_input*MTF_blur
Right now, MTF_output and MTF_input can be calculated from the slanted edge image I have. Eventually, I will generate MTF_blur from the desired MTF_output I want. This to prove the math works out.
I calculate MTF_blur two ways.
1) The ratio MTF_output./MTF_input.
2) Extracted from the PSF used to blur the image.
The problem is both methods don’t match.
I think I may be missing something regarding scaling to my optical system or perhaps frequency units. I have no specific camera parameters in this code, although the system is ~3 pixels per degree.
Thanks in advance!
% Read in image and convert to mono double.
img = imread(‘img_input.png’);
img = double(rgb2gray(img));
% Crop to edge and perform slanted edge MTF calc
rect = [308.51 198.51 62.98 51.98];
img_cropped = imcrop(img,rect);
[~, data,~, ~, ~, ~, ~] = sfrmat3(1, 1, [], img_cropped);
freq = data(:,1);
mtf_input = data(:,2);
% Generate PSF used to degrade the image
PSF = fspecial(‘gaussian’,13,1);
% Convert the PSF to an Optical Transfer Function (OTF).
OTF = psf2otf(PSF,[31 31]);
% Extract the MTF from OTF:
MTF_blur_fromPSF = diag(OTF); % Should be circular symmetric, but OTF is a square matrix.
% Blur Image
img_blurred = conv2(img,PSF,’same’); % apply convolution to entire image to avoid edge artifacts
% Crop to edge and perform slanted edge MTF calc
img_blurred_crop = imcrop(img_blurred,rect);
[~, data,~, ~, ~, ~, ~] = sfrmat3(1, 1, [], img_blurred_crop);
freq_output = data(:,1);
mtf_output = data(:,2);
plot(freq, mtf_input); hold on; plot(freq_output, mtf_output);
MTF_blur_fromRatio = mtf_output./mtf_input;
plot(freq,MTF_blur_fromRatio)
axis([0 0.5 0 1])
plot(linspace(0,1,length(MTF_blur_fromPSF)),MTF_blur_fromPSF) % assuming MTF_blur_fromPSF is 0-1 1/pixel units
xlabel(‘Frequency [cy/px]’)
ylabel(‘MTF Response’)
legend(‘Original MTF’,’Blurred MTF’,’MTF_blur_fromRatio’,’MTF_blur_fromPSF’,’Interpreter’, ‘none’) image analysis, simulation, mtf, psf, image processing MATLAB Answers — New Questions
Calling PowerShell from MATLAB: executing commands from within script
My goal is to call PowerShell from MATLAB and set a file path from within the script that I am writing. I have as of now:
!PowerShell "Set-Location C:Program Files (x86)"
The error that is displayed is as follows:
x86 : The term ‘x86’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:32
+ Set-Location C:Program Files (x86)
+ ~~~
+ CategoryInfo : ObjectNotFound: (x86:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Note: !PowerShell works for me, and I can cd to the file path I want to go to in the command window. However, I want to set the file path in the script.My goal is to call PowerShell from MATLAB and set a file path from within the script that I am writing. I have as of now:
!PowerShell "Set-Location C:Program Files (x86)"
The error that is displayed is as follows:
x86 : The term ‘x86’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:32
+ Set-Location C:Program Files (x86)
+ ~~~
+ CategoryInfo : ObjectNotFound: (x86:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Note: !PowerShell works for me, and I can cd to the file path I want to go to in the command window. However, I want to set the file path in the script. My goal is to call PowerShell from MATLAB and set a file path from within the script that I am writing. I have as of now:
!PowerShell "Set-Location C:Program Files (x86)"
The error that is displayed is as follows:
x86 : The term ‘x86’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:32
+ Set-Location C:Program Files (x86)
+ ~~~
+ CategoryInfo : ObjectNotFound: (x86:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Note: !PowerShell works for me, and I can cd to the file path I want to go to in the command window. However, I want to set the file path in the script. matlab, powershell MATLAB Answers — New Questions
“None” option missing from Teams background options
Hi,
Our teams “none” background option is missing. Forcing users to use a background or the blur backgrounds.
I have tried to revert back to classic teams to see if that is a fix, but I am unable to toggle it off and it takes me to download the classic teams which is just the new teams download.
We are not disabling this option as an organization.
Hi, Our teams “none” background option is missing. Forcing users to use a background or the blur backgrounds. I have tried to revert back to classic teams to see if that is a fix, but I am unable to toggle it off and it takes me to download the classic teams which is just the new teams download. We are not disabling this option as an organization. Read More
Why are my Adobe preferences saving to my One Drive – Documents folder?
Hey there,
I have a basic one drive account. I don’t really need it but I like having the option of backing certain things up if need be, so don’t want to disable it. You can see in the screenshot below, there’s a bunch of media encoder files in the “Documents” folder of my Personal one drive. Anyone know why this is? It seems like One Drive is hi-jacking my main C: Documents folder for whatever reason. Feel like it’s forcing me to upgrade when I don’t want to.
Hey there,I have a basic one drive account. I don’t really need it but I like having the option of backing certain things up if need be, so don’t want to disable it. You can see in the screenshot below, there’s a bunch of media encoder files in the “Documents” folder of my Personal one drive. Anyone know why this is? It seems like One Drive is hi-jacking my main C: Documents folder for whatever reason. Feel like it’s forcing me to upgrade when I don’t want to. Read More
Find and replace multiple update in same colum
Ho I can find and replace of costallow, Monthly and share of column-Add_code_claculation using SELECT command. I want to update costallow to 10, Monthly to 15 and Share to 30 using find and replace function using SELECT or any other function to get the expected result.
Create table #ABC ( Tid char(10), Add_code_Calculation varchar(255))
insert into #ABC values (’11’,'(A+B+C)/(costallow * Monthly – Share)’
Expected result:
Tid Add_code_Calculation
11 (A+B+C)/(10 * 15 – 30)
Ho I can find and replace of costallow, Monthly and share of column-Add_code_claculation using SELECT command. I want to update costallow to 10, Monthly to 15 and Share to 30 using find and replace function using SELECT or any other function to get the expected result. Create table #ABC ( Tid char(10), Add_code_Calculation varchar(255))insert into #ABC values (’11’,'(A+B+C)/(costallow * Monthly – Share)’ Expected result:Tid Add_code_Calculation11 (A+B+C)/(10 * 15 – 30) Read More
JSON Type & Aggregates Public Preview in Azure SQL Database | Data Exposed
The native JSON type allows JSON documents to be stored in a binary format. This binary format allows for efficient query processing and in-place modifications of JSON documents. The JSON aggregates – JSON_OBJECTAGG & JSON_ARRAYAGG enable easy aggregation of relational data into a JSON document. Learn more in this episode of Data Exposed with Anna Hoffman and Umachandar Jayachandran.
Resources:
JSON data type (preview) – SQL Server | Microsoft Learn
JSON_OBJECTAGG (Transact-SQL) – SQL Server | Microsoft Learn
JSON_ARRAYAGG (Transact-SQL) – SQL Server | Microsoft Learn
View/share our latest episodes on Microsoft Learn and YouTube!
Microsoft Tech Community – Latest Blogs –Read More
AM Transmitter/Receiver using Simulink
Is it possible to design a model for AM transmitter and AM receiver in Simulink?
If yes, then how?Is it possible to design a model for AM transmitter and AM receiver in Simulink?
If yes, then how? Is it possible to design a model for AM transmitter and AM receiver in Simulink?
If yes, then how? simulink, amplitude, modulation, am transmission, communication, radio MATLAB Answers — New Questions
Why do I receive the message, “Your installation may require additional configuration steps” after installing MathWorks products?
Why do I receive the message, "Your installation may require additional configuration steps" after installing MathWorks products?Why do I receive the message, "Your installation may require additional configuration steps" after installing MathWorks products? Why do I receive the message, "Your installation may require additional configuration steps" after installing MathWorks products? MATLAB Answers — New Questions
Lowpass vs bandpass filtering
I’m having troubles using the lowpass filter. Here is the code I use.
Yacc=lowpass(Yacc,high,fs);
I set the filter to 100 Hz and looking at the power spectrum graph the filter doesn’t kick in until well over 2kHz.
I don’t have this problem using a bandpass filter. I use this code.
Yacc = bandpass(Yacc,[low high],fs);
Filtering from 10 to 100 Hz gives me this power spectrum graph.
Can someone explain what I’m doing wrongI’m having troubles using the lowpass filter. Here is the code I use.
Yacc=lowpass(Yacc,high,fs);
I set the filter to 100 Hz and looking at the power spectrum graph the filter doesn’t kick in until well over 2kHz.
I don’t have this problem using a bandpass filter. I use this code.
Yacc = bandpass(Yacc,[low high],fs);
Filtering from 10 to 100 Hz gives me this power spectrum graph.
Can someone explain what I’m doing wrong I’m having troubles using the lowpass filter. Here is the code I use.
Yacc=lowpass(Yacc,high,fs);
I set the filter to 100 Hz and looking at the power spectrum graph the filter doesn’t kick in until well over 2kHz.
I don’t have this problem using a bandpass filter. I use this code.
Yacc = bandpass(Yacc,[low high],fs);
Filtering from 10 to 100 Hz gives me this power spectrum graph.
Can someone explain what I’m doing wrong band pass filtering, low pass filtering MATLAB Answers — New Questions
Event Planner Template no longer macro enabled
I used this Event Planner template last year to create a custom October to September department calendar. The current version of the template is only for 2024. This template does not have any macros or fields. It no longer allows me to create a custom calendar.
I still have the old calendar and it apparently uses Document Variable Fields but the set start date macro has disappeared. Does anyone know how to turn the calendar update controls back on, or update the document variables manually, or get a macro enabled version of the template?
Template URL: https://create.microsoft.com/en-us/template/event-planner-3b23a074-fdbd-4280-8ebd-852016c1bb60
I used this Event Planner template last year to create a custom October to September department calendar. The current version of the template is only for 2024. This template does not have any macros or fields. It no longer allows me to create a custom calendar. I still have the old calendar and it apparently uses Document Variable Fields but the set start date macro has disappeared. Does anyone know how to turn the calendar update controls back on, or update the document variables manually, or get a macro enabled version of the template? Template URL: https://create.microsoft.com/en-us/template/event-planner-3b23a074-fdbd-4280-8ebd-852016c1bb60 Read More
Excel sharepoint formula
Hi, I need assistance with the “Bandwidth” tab, specifically cells B2
. In the “Raw Data” tab, if an employee’s name appears in column C, the formula for B2 should be 1 minus the sum of values in column D for that employee. For example, if Jeff has values 0.20 and 0.45 in the “Raw Data” tab, then in the “Bandwidth” tab, B2 should be calculated as 1 minus 0.20 plus 0.45.
https://ceridian.sharepoint.com/:x:/r/teams/MAUPayrollProject/_layouts/15/Doc.aspx?sourcedoc=%7B7af44531-abf9-49db-8450-d3b88165af8f%7D&action=edit&wdPreviousSession=47b9aa35-8172-d667-505d-c2e9b89d566d Hi, I need assistance with the “Bandwidth” tab, specifically cells B2. In the “Raw Data” tab, if an employee’s name appears in column C, the formula for B2 should be 1 minus the sum of values in column D for that employee. For example, if Jeff has values 0.20 and 0.45 in the “Raw Data” tab, then in the “Bandwidth” tab, B2 should be calculated as 1 minus 0.20 plus 0.45. Read More
Read only without a password.
Occasionally excel will make my spreadsheet a read-only, but I don’t do that. I have never created a password. How do I correct this issue? I have tried all such as F12, I’ve gone down to Tools to general options {but it prompts me to put in a password, I’ve never created a password.} Excel did this once before, and the same issues. I must edit this sheet. It also says notify the person, the person is me, that is trying to correct it. I had a co-worker go to his laptop, and try to get in that way, same thing. What gets me a password was never created. I need help please.
Occasionally excel will make my spreadsheet a read-only, but I don’t do that. I have never created a password. How do I correct this issue? I have tried all such as F12, I’ve gone down to Tools to general options {but it prompts me to put in a password, I’ve never created a password.} Excel did this once before, and the same issues. I must edit this sheet. It also says notify the person, the person is me, that is trying to correct it. I had a co-worker go to his laptop, and try to get in that way, same thing. What gets me a password was never created. I need help please. Read More
How to create a workbook where the master data filters to a specific worksheet
Hello, can anyone provide guidance on how to set up a housing verification workbook where the master list filters automatically to the specific housing community worksheet when entered?
Hello, can anyone provide guidance on how to set up a housing verification workbook where the master list filters automatically to the specific housing community worksheet when entered? Read More