Eyewire II Question Box

@annkri Yes, I think, I like more the version, where also the past scores are visible.

@nseraf Do you think, it would be possible to put the daily/weekly/monthly leaderboards side by side instead of switching between? Maybe even put them in the same tab, the original leaderboard is. There’s quite a lot of space there and we’d have fewer tabs to switch between.

Btw. the original leaderboard seems to be stuck since yesterday.

I can ask chatgpt to give me a side by side version, as for putting them in the original leaderboard I can’t do that, only an admin/celiad has those permissions/ability.

2 Likes

ok did it, and I rly don’t know why the HQ leaderboard’s stuck…nothing I’ve done should in theory interfere with it as I haven’t ‘touched’ that tab (can’t even if I wanted to would need permissions I don’t have for that).

2 Likes

Nice! Thanks!
I also don’t know, why it stuck. I’ve allowed myself to check your code for the “Leaderboard History” tab and didn’t notice anything, that could’ve done such thing. Same for the formulas in the “Player Leaderboard”. I guess, we have to wait for someone more knowledgeable in the arts of spreadsheeting, lol.

2 Likes

allow yourself freely, it is not my code lol, it’s chatgpt’s I proclaim no ownership of/to it, wanna change it? think you can improve it? Feel free! :slight_smile:

2 Likes

I still don’t know much about the formulas - I can read them and understand parts, but can’t create. However, when it comes to the scripting language it turns out, Google Spreadsheets, unlike MS Excel, uses JavaScript as its scripting language, which I’m quite familiar with, so maybe in the future, I will cook something myself, if the need arises.

2 Likes

looks like this is the code for HQ leaderboard not sure what is wrong, do not really have a lot of experince with scripts on google sheet. but can it be so simple as the user that made it, have to logged in on his or her google account for it to run. have noticed that it often are not updating in real time
iI do not have permission to run the script manually.

function updateCompletionCounts() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sourceSheet = ss.getSheetByName(“Low Quality BCs”);
const outputSheetName = “Leaderboard”;

let outputSheet = ss.getSheetByName(outputSheetName);
if (!outputSheet) {
outputSheet = ss.insertSheet(outputSheetName);
}

const data = sourceSheet.getDataRange().getValues();

if (data.length < 2) return;

const headers = data[0];

const proofreaderCol = headers.indexOf(“Proofreader”);
const statusCol = headers.indexOf(“Status”);

if (proofreaderCol === -1 || statusCol === -1) {
throw new Error(“Could not find ‘Proofreader’ or ‘Status’ column.”);
}

const counts = {};

for (let i = 1; i < data.length; i++) {
const name = data[i][proofreaderCol];
const status = data[i][statusCol];

if (
  name &&
  (status === "Complete" || status === "Complete (cut off)")
) {
  counts[name] = (counts[name] || 0) + 1;
}

}

const sorted = Object.entries(counts)
.sort((a, b) => b[1] - a[1]);

outputSheet.clear();

// Header row
const headerRange = outputSheet.getRange(1, 1, 1, 3);
headerRange.setValues([[“Name”, “Cells”, “”]]);
headerRange.setFontWeight(“bold”);
headerRange.setBackground("#ffd966");

if (sorted.length > 0) {
outputSheet
.getRange(2, 1, sorted.length, 2)
.setValues(sorted);
}

// Add medals
const medals = [“:1st_place_medal:”, “:2nd_place_medal:”, “:3rd_place_medal:”];

for (let i = 0; i < Math.min(3, sorted.length); i++) {
outputSheet
.getRange(i + 2, 3)
.setValue(medals[i])
.setHorizontalAlignment(“center”);
}

// Remove empty extra columns (keep only 3)
const maxCols = outputSheet.getMaxColumns();

if (maxCols > 3) {
outputSheet.deleteColumns(4, maxCols - 3);
}
}

2 Likes

Yep, at first glance the code seems to be ok. As you said, most probably there’s something wrong with the settings of the script, like a wrong trigger, a missing autorization, or something like this.

2 Likes

problem fixed, thanks to @KrzysztofKruk for the assist.

1 Like

Are there types of BPs that we’re doing in EW2 that we never got to do in EW either b/c they were not in that dataset, b/c they had been done in OMNI or just were not known to be found in the 1st place? B/c there’s some like the XBCs and some of the others like t5o’s I don’t remember at all from my time in EW, just remember the BPs with the huge boutons lol, but it may just be my memory.

3 Likes

Great question! Yes, there are types that either were cut off or just may be “new” types/subtypes that we haven’t seen in the first place.

Eyewire II is ~10x the size of e2198 (original Eyewire). Eyewire (e2198) is 350x300 microns and EWII is ~1000x1000 microns. While cell types are tiled/clustered in the retina (just like the the OL in the fly), we will see certainly see more of those groups in EWII. So a bipolar cell that might have seemed like a single “weirdo” or glia in e2198 is most likely going to be easier to identify and have more siblings in EWII. Basically a bigger clearer, sample size = more to find, ID and confirm :nerd_face:

2 Likes

Sounds neat, I’m guessing in EW if we had traced Glumis they’d have been traced like any other Lv2 amacrine cell(s)?

2 Likes

Yup! Or more likely as part of a bipolar field.

2 Likes


I know we’re not supposed to add/merge mito’s I just added them in the screenshot for the question, but why (more often in mito’s but not exclusively in mito’s) does the “AI”/algorithm/whatever it is that defines when 2D is traceable or not thinks that portion(s) of the 2D far away from EOD (black slides etc) are not clickable/traceable? Is it a bug or a feature? I have seen similar ‘behaviour’ in cell/neuron membranes as well as random parts of it.

link for ref: neuroglancer

2 Likes

Pretty sure this is not a feature, and not sure why pieces of the mitochondria are not being captured. Interesting observation!

3 Likes

I have a cell, where there’s a merger near the soma annotation. At first I didn’t notice, but, thankfully @Nseraf found it. Here’s the starter link: neuroglancer and here is the one with the merger found: neuroglancer.
After the split the soma annotation is on that small merger, not on the main trunk. Should I move the soma annotation to the main one or just cut it off and mark as a non-BP?

2 Likes

From some stuff I had as non BC that were similar to your cell, my guess is the answer’s gonna be “move the soma coords, and proofread the BP cell.”

1 Like

Yes, I’m not quite sure how the BP cells are chosen, but my guess they are likely picked out by overall shape first, and then a guess about the soma/stem area is made and an annotation is placed there. I believe they are being pulled programmatically.

Which is to say, you can just relocate the annotation point to an appropriate place and leave a note that you updated the soma coords.

2 Likes


https://spelunker.cave-explorer.org/#!middleauth+https://global.daf-apis.com/nglstate/api/v1/5843784242823168

initial link, the soma coords are firmly on this amacrine cell which is merged with a bp, should I split them up, move the soma coords and proofread the bp cell regardless or is this a non-bp? (I’m asking b/c this isn’t a small merger part on a dendrite or such but a whole other cell).

2 Likes

Thanks for asking! Yes, you can still follow that procedure despite the large merger.

3 Likes