Dot indexing not supported for variables of this type
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi! I am trying to run code on a set of biological images to analyze sarcomere organization and length (the SOTA code is developed by the authors of the Sutcliffe et. al. 2018 paper, and is available for download on github: https://github.com/saucermanlab/SarcOrgTextureAnalysis ), however, I keep getting the error message "Dot indexing is not supported for varibales of this type." I am new to MATLAB and thus am not entirely sure how to solve this issue. Any help or suggestions are appreciated:) The error lies in the third and fourth line of the code, "[eX,eY] = beeswarmPoints([eCM.all.SarcomereOrganizationScore],xspacing,(ylimits(2)-ylimits(1))/nBins,ylimits);"
%% Sarcomere Organization
ylimits = [0 0.6];
xlimits = [0.25 2.75];
[eX,eY] = beeswarmPoints([eCM.all.SarcomereOrganizationScore],xspacing,(ylimits(2)-ylimits(1))/nBins,ylimits);
[rX,rY] = beeswarmPoints([rCM.all_aact.SarcomereOrganizationScore],xspacing,(ylimits(2)-ylimits(1))/nBins,ylimits);
figure('units','pixels','position',[50 500 figureSize]); hold on;
plot(xlimits,sarcomereOrganizationThreshold.*[1 1],'k--','LineWidth',lw);
scatter(eX+1,eY,markerSize,'MarkerEdgeColor',[1 1 1],'MarkerFaceColor',eCM_color,'MarkerFaceAlpha',alphaValue);
plot3Lines([eCM.all.SarcomereOrganizationScore],1,xwidth,lw);
scatter(rX+2,rY,markerSize,'MarkerEdgeColor',[1 1 1],'MarkerFaceColor',rCM_color,'MarkerFaceAlpha',alphaValue);
plot3Lines([rCM.all_aact.SarcomereOrganizationScore],2,xwidth,lw);
% plot([0.9 1.1],mean([eCM.all.SarcomereOrganizationScore])*[1 1],'k');
% plot([1.9 2.1],mean([rCM.all_aact.SarcomereOrganizationScore])*[1 1],'k');
set(gca,'FontSize',fontSize,'LineWidth',lw,'Color','None','TickDir','out','TickLength',[0.02 0.025]);
xlim(xlimits);
ylim(ylimits);
set(gca,'YTick',0:0.1:0.6);
ylabel('Sarcomere organization');
set(gca,'XTick',[1 2],'XTickLabel',xticklabels);
set(gca,'Position',gcaPosition);
ax = gca;
ax.XAxis.Color = 'k';
ax.YAxis.Color = 'k';
2 commentaires
Walter Roberson
le 21 Mai 2022
either eCM or eCM.all is not a struct and not an object.
When you see this message it is common to find that the entry is empty, [] because something failed.
Réponses (1)
prabhat kumar sharma
le 4 Oct 2023
I understand that you are encountering an error with your code.
After cloning the repository and attempting to replicate the issue, I discovered that the variable eCM is a 1x1 struct. However, upon inspection, I found that eCM.all is empty (eCM.all = []). This is the reason for the error you are experiencing. The error occurs because there is no property named SarcomereOrganizationScore within the eCM.all struct.
To verify this, you can set the property SarcomereOrganizationScore before accessing it to avoid encountering this error. It is important to note that you cannot access a property that does not exist, which leads to the error in MATLAB.
If you have any further questions or need additional assistance, please let me know!
Tip: It’s always a good coding habit to null check the values before using.
Voir également
Catégories
En savoir plus sur Startup and Shutdown dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!