Josh Moore: Okay that's kicked off.
All right.
Josh Moore: All right, no one showed up in a bit so hi everyone um I think there are a few people I don't know, so I am josh more from the open microscopy environment i'm.
Josh Moore: set this up, so thank you for coming.
Josh Moore: I will flop here to doing a quick introduction run through everyone we're at 18 people, so we you know, he must be it.
Josh Moore: Under a minute right at a minute each trying to get that over with though fairly quickly the morning session got it over in 10 minutes, so you can try to top that.
Josh Moore: um but just for anyone who hasn't been to one of these meetings before they are largely technical, so the goal of this is really to move us towards a common file format.
Josh Moore: kind of in some of the burdens that least some of us have put up with with for over 20 years I want to ask to find out who has put up with the pains the longest um.
Josh Moore: So yeah I mean nothing's really prepared, so this is really just a discussion feel free to break in turn on video.
Josh Moore: Add things to the to the hacking D document to the agenda, so at the bottom, there are two sessions, you can see all the notes from the first session this morning.
Josh Moore: I can also go over anything that you guys missed, if you would like, and I probably will, as we touch on something so that we don't start from.
Josh Moore: ground zero each time um but yeah so under the the session to section quite towards the bottom feel free to add in points that you want to talk about.
Josh Moore: And links at the very bottom in markdown style and then we can refer to those links, as necessary, so list your projects anything you're working on i'm have a go and then everything that's in this document and the videos will get posted to image sc as soon as I can get around to it.
Josh Moore: i'm.
Josh Moore: Right that's it from my side, so I will go around i'll follow my um screen, which is largely alphabetical it starts with David and then goes to build cats and I will add names into the chat for the next people go for it.
David Gault: Okay hi everyone i'm difficult.
David Gault: Part of the.
David Gault: Meeting primarily been working on file formats only tiff all sorts of file formats.
Bill Katz: hi.
Bill Katz: i'm bill cats i'm working on be.
Bill Katz: Jeff I am team gianelli if I am team and mostly working on data systems for that group.
Chris Allan: hi my name is Chris Allen mvp software engineering for glencoe software.
Chris Allan: Working closely with me team and pushing this stuff forward and developing around a variety of tools around it that's me.
Christian Tischer: I am a Christian tisha and the hindenburg I have been running a few workshops, with just lately about the topic so i'm very motivated to make this work and i'm also maintaining Fiji implementation to open the current version in big data.
Christoph Gohlke: yeah my name is Christopher corker and you work for uc Irvine at the laboratory for fluorescence dynamics and you might know me from the defiant Python library.
Josh Moore: well.
Josh Moore: done yes.
Damir Sudar: Yes, we are.
Damir Sudar: down here so i'm working for a small company called quantitative imaging systems which develops software for.
Damir Sudar: A multiplex imaging like cyclic if and such and i'm also very interested in file formats and i've been involved a little bit with.
Damir Sudar: The development of the.
Damir Sudar: The pyramid pyramids version of the bio AMI tiff file format and, and this is of course the, the next step and i'm really excited about it.
Dan Toloudis: i'm Dan to Lewis i'm at the Allen Institute for cell science i'm a senior software engineer and mostly work in gpu graphics and 3D rendering for our microscopy data but also was one of the originators of the ACS image library.
Josh Moore: Dave if you have your beer.
Dave Mellert: No beer sorry i'm trying to i'm on my phone right now, so I was trying to like set this up my name is Dave Miller, I work at the Jackson laboratory and I manage a group that's responsible for providing image data management, support for the lab.
Davis Bennett: So i'm Davis Bennett I worked at.
Davis Bennett: hdmi Julia and I basically upload a lot of data to s3 and keep it organized.
Jackson Brown: And Jackson Browne.
Jackson Brown: i'm not associated to at the current moment, but I am a maintainer on a scenario and.
we'll be doing a PhD in the fall.
Josh Moore: you're fairly quiet for the future Jackson, but we did here.
Josh Moore: I think we had this game last time we had a meeting.
Jamie Sherman: Jamie Sherman I work on.
Jamie Sherman: It so much I owe trying to keep Jackson happy etc and ACS pilot.
Jamie Sherman: yeah and so.
yeah and other random tasks so cool.
Melissa Linkert: i'm Melissa linker I also worked for Blanco software and I work on all things file formats.
Kevin Kozlowski: i'm Kevin kozlowski also software developer at glencoe i've been working on miscellaneous and je FF stuff recently.
Lee Kamentsky: i'm looking at ski I work at the quantum Chung lab at MIT we do volumetric imaging of brains terabytes petabytes scales.
Josh Moore: The ours.
Robert Haase: hi i'm Robert i'm group leader at the University of Technology and dressing, and I do gpu accelerated image, processing and high performance computing in this direction, but i'm also responsible for establishing the principles in data sharing and that's why i'm here today.
Rohola Hosseini: Gone yeah hi my name is RON so.
Rohola Hosseini: i'm from a university in the Netherlands and i'm mainly involved in data management.
Rohola Hosseini: and fair data management here in student as for me i'm not a software engineer.
Talley Lambert: I am tally I am a microscope best at Harvard Medical School i'm also a core developer on the party I don't know much about ND FF so i'm mostly here to kind of see what the the the chat is about.
Trevor Manz: hey i'm Trevor i'm a PhD student at Harvard Medical School and I worked on and je FF in that trying to support it in the Web browser and.
Trevor Manz: With the tool called Peter.
Volker Hilsenstein: Hello i'm foca I work at the mpl in Heidelberg in the Alexander of cream on special multiple nomics joined recently, and we have different modalities of images and potentially annotations and segmentation so that need to be displayed together and I just wanted to.
Volker Hilsenstein: Hopefully do that with om visa and follow the progress on this.
Volker Hilsenstein: Great.
Josh Moore: Thanks everyone so um we'll call it a tie me, been a little bit faster, but I like stop it, or anything um.
Josh Moore: hmm Okay, so I will slip to trying to give a status update of everything, I know of so, starting with the tsar project that one means are and a little bit of what's going on the me sign and so that's just kind of at a high level i'm happy to answer questions about those.
Josh Moore: But importantly if there's anyone else who has done anything let's then follow up with you know if your Community or your repository has has news, it needs to share with anyone um will oh bill got.
Josh Moore: thrown out um we'll follow up with that, before we start talking about specific specifications and kind of diving in because that's the overall goal of this is really to try to find.
Josh Moore: specifications that the Community wants implemented and people who want to get involved with implementing them, you know it's great to have everyone who's just kind of following along no objections whatsoever.
Josh Moore: You know just having your support and applause is always welcome um, but we do want to try to get to the point where in parallel we're developing multiple multiple specifications and implementations and kind of keep everything moving.
Josh Moore: Okay sorry, people are still showing up.
Josh Moore: So i'm Czar.
Josh Moore: For.
Josh Moore: I don't know how far to go back um.
Josh Moore: There was a conversation so roughly.
Josh Moore: At the images to knowledge meeting, where we said we would try to get zarin in five these two very simple.
Josh Moore: Next Generation file formats to work more closely together so that kind of kicked off this set of meetings there's a regular so that's a biweekly bi weekly meeting from the tsar.
Josh Moore: And in five groups it's actually tomorrow night, so if anyone wants, you know just desperately wants to talk about this more you're welcome to come tomorrow night at eight o'clock Central European time um I can send you coordinates for that.
Josh Moore: um as a part of those conversations we eventually got funding so both does our project got funding and when he got funding to work on a new specification that would unify the two formats that's that's Czar v3.
Josh Moore: That funding is coming to an end.
Josh Moore: at a high level um yeah it's not complete so that's the best kind of take home um there have been issues with keeping contractors in position over the course of the pandemic so where we are, is that there is a v3 specification branch there's documentation and you can read it i'm.
Josh Moore: At the specification meetings that take place, basically, the agreement has been.
Josh Moore: We will consider it a working milestone and implementations can start being built on top of that specification, but to really get it over the finish line there's likely going to be need to be some specification changes.
Josh Moore: um the specifications that exist at the moment are there's there's our Python one which is on a branch there's a c++ implementation based on X tensor and.
Josh Moore: there's a as far as I know, there's a beginnings of a rust implementation as well, so tomorrow night, we will be discussing getting Java implementations across the line, how do we get v3 implemented in Java and hopefully that can happen over the course of the next month or two.
Josh Moore: um.
Josh Moore: But really ever so that Czar v3 that's where we need to be to kind of uniform unify more of the libraries.
Josh Moore: But that doesn't stop anything we're talking about so I sound fairly pessimistic about all that because it's been kind of a slog to get us through the past year of development.
Josh Moore: um but everything oh emmys are based still on V2 so at some point, as soon as we think it's stable we'll swap the only means our flag from V2 v3 right, so what what we're using underneath the hoods.
Josh Moore: um, but I think all the features we're talking about we'll just keep working but it's just good for everyone to be aware of kind of the state of what's happening there.
Josh Moore: So the state of autoimmune Czar is.
Josh Moore: Like guess different so for anyone who wasn't there, towards the end of 2020 there was the images to knowledge meeting again so two years later, after the initial conversation.
Josh Moore: i'm for that we were prepared to New Orleans our specifications, as the one for the labeled images so segmenting your images and storing them together, so I a couple people mentioned those um and storing high content screening data in.
Josh Moore: In armies are.
Josh Moore: um those are you know listed under the specifications today everyone's encouraged to use them, it may be that those need further modification, so you know.
Josh Moore: You know if someone has looked at those and I said, our data doesn't fit into them, then we should probably list that in you know next specifications that we should look at as a community and go to the next.
Josh Moore: The next milestone so it's I think everyone agrees, so each of these are going to kind of.
Josh Moore: develop, step by step, but we need to get something that's working and in place and we have implementations for those in.
Josh Moore: Python and javascript and I think Java, is on the way.
Josh Moore: What we're look we've started looking at since the beginning of this year, really is is how to get large 3D structures into all enemies are so for anyone who doesn't know, one of the major differences between zar the two and in five is how chunks are stored.
Josh Moore: For anyone who doesn't know so each array is broken up into many chunks and the chunks are stored in disk in separate files or in the cloud on s3 or the Google cloud storage as separate objects rank.
Josh Moore: Czar, for whatever reason, chose a separator of a point adopt for the individual chunks, meaning that when you're using a local file system all your chunks get put into the same directory.
Josh Moore: Which means if you're starting is trying to store very large volumes you end up with 10s of millions, if not hundreds of millions of chunks and a single directory, which makes everything fall over um.
Josh Moore: So some of us have discussed this on Twitter and on issues um.
Josh Moore: and basically i've been going around various repositories and trying to get everything working so that does our V2 can use nested storage that's already a step of brings our in five closer together.
Josh Moore: um that's going fairly well it's not done yet various upstream repositories need to accept PRS to get that all working.
Josh Moore: um that's what we're focusing on and as we'll see so you know if others want to focus on other parts of the problem that's what we can discuss today.
Josh Moore: And then finally from the oil me point of view i'm really our driver, so the Open Source driver and we can talk about others particular needs.
Josh Moore: Are is is the ability to transform data sets that are coming to the image data resource the idea into armies are and store them publicly um so we've had several large submissions 3D submissions.
Josh Moore: Also, some cytometry data and so basically we want to get specifications to a stable milestone state something that's you know written down.
Josh Moore: And will be supported as quickly as possible so that we can then publish the data and then iterate and it's kind of the problem that Davis is talking about you know if you're putting this stuff in the cloud people need to be able to read it, so we have the basic same problems.
Josh Moore: And the other thing that we've been working on, is, I think we have three to four hires or so interview processes that are ongoing at the moment.
Josh Moore: People who should be working on this and as soon as there and post, we will get them hooked up on the github issues and hopefully we'll have a bit more momentum.
Josh Moore: To ultimately that's the problem right getting all this stuff implemented across all the domains we're talking about and then implemented in you know four or five different languages so that's the ultimate goal.
Josh Moore: Sorry, that was a bit of a slog um any questions on any of that.
Josh Moore: Everyone so, especially for anyone who hasn't attended before a general feeling good feeling or that you understand what's going on with oil, these are what we're talking about what the heck in gfs even stands for.
Lee Kamentsky: Okay.
Josh Moore: i'll take that as a given um feel free to ask, though, if you need.
Josh Moore: c plus plus so I can send the link to the.
Josh Moore: The c++ implementation, Dom year.
Josh Moore: So it's called extensors are um and they've added various I can, I think it's other libraries in their github organization so you'll have to look around a bit or you can follow their see make files.
Josh Moore: um you know kind of adding their own stack similar to desk and you know so everything that exists in the Python stack or in the in five stack they're needing to redo and C plus plus it's a bit unfortunate that everyone has to redo the same things themselves, but so being.
Chris Allan: What happened with said five josh.
Josh Moore: said five still.
Josh Moore: exist um it's a c++ library that concurrently reads in five ends are i'm constantly Constantine was here this morning.
Josh Moore: So I can send the link to that and it has a Python wrapper around it.
Josh Moore: um interestingly, so I need to talk more to Constantine about this so i've mentioned some problems with the differences between nested storage and non nested chunks.
Josh Moore: And he didn't realize that any of that was a problem, I think, just because his library takes care of all that so um by all means do try it out the other implementation that.
Josh Moore: i'm getting suggested more and more often as tensor store also supports both Czar and in five.
Josh Moore: it's getting quite complicated keeping up with all the different implementations.
Josh Moore: So anyone else have any that they're really happy with and there's the rust in five implementation.
Chris Allan: there's still nobody working on C sharp right josh.
Josh Moore: As far as I know, no one's working on C sharp.
Josh Moore: that's correct.
Josh Moore: Though I haven't asked, I don't even know if there's an issue asking that Chris.
doesn't work like it.
Josh Moore: Yet and there's a see implementation that's coming as well from the uni data team, just to kind of round out so that's javascript Java Python rust there was a scholar one C c++.
Josh Moore: Not to mention 10s of store.
Damir Sudar: What you just mentioned the sea native see implementation is that not CDF or is that related to the net CDF activities.
Josh Moore: that's net CDF it's certainly on master i'm not sure if it's been released, they call it mcs are.
Josh Moore: And they are so they'll.
Josh Moore: Be at the meeting tomorrow night as well, because they are while i'm hoping they'll be there because there, they will support a Java wrapper around the sea implementation so that's one of three Java implementations I know of.
Josh Moore: Sorry, so that was the state of implementations that at least I know of anyone has any status reports from their side.
Josh Moore: Good kind of look at Trevor I assume as rgs is still happy.
Josh Moore: yeah trevor's happy excellent, as long as Trevor stays healthy then we'll keep going um.
Trevor Manz: I did write a v3 implementation a while.
Josh Moore: Oh.
Josh Moore: So that's actually something that really needs to happen and I guess that's largely my fault, there will probably be a table of.
Josh Moore: Support matrix coming up this morning, one of the decisions from Constantine was too so there's a repository from Constantine called Czar implementations.
Josh Moore: um where he has a mini too many tests so every implementation that can write one of these files reading each one of those files and seeing if everything works.
Josh Moore: And so Constantine is going to migrate that to the tsar developers organization and basically we can keep adding to that so Trevor it would be good to get.
Josh Moore: Your V2 and sorry I won't be able to make that shut up a V2 v3 version of you, the javascript implementations into the matrix and figure out if everything's.
Josh Moore: aligned.
Josh Moore: But it'll get easier to manage that once it's it's part of the organization.
Josh Moore: cool.
Josh Moore: that's the state of Czar at least as as of today.
Josh Moore: getting any when else a chance, otherwise let's start switching to specifications.
Josh Moore: yeah okay.
Josh Moore: So here's the process, I know that it.
Josh Moore: um.
Josh Moore: So the first specification that we did, and you know some of actually several of you are involved was on this.
Josh Moore: In the tsar spaces, you know, so we have this attempt to come up with a specification, that is, the new.
Josh Moore: Proper subset of Czar and in five so that's our P three so as a part of writing that specification.
Josh Moore: um the imaging Community said, well, we need to be able to store sub resolutions, we need to be able to store an image pyramid let's write an extension to the tsar be three spec.
Josh Moore: So that we can represent that, in the same thing we did with on me tiff storing very large images um we want to be able to do that in multiple dimensions, so that is.
Josh Moore: I have it here.
Josh Moore: That is the famous issue 50 from the tsar spec repository um and they're actually good conversations largely it's this set of people who are having those conversations and we work through how we want to store multi scale data.
Josh Moore: And then, at some point the tsar community and one of these bi weekly meeting said Well, this is all great you're doing good work, but we don't want to be responsible for the specification right, so this needs to live somewhere else.
Josh Moore: So that's where n G F F really started is okay, this needs to happen somewhere where are we going to talk about imaging specifications on top of these next generation file formats.
Josh Moore: So that's where we move to image sc you can follow the only n G F F tag on image sc there's the end gfs group and we started having these calls.
Josh Moore: So the Multi skills got implemented I think everyone was generally happy with how that process went, although I did at some point just kind of draw a line and say okay some of this information there's no consensus on so that's the scales, the offsets the positions, the grid size.
Josh Moore: we're just going to do the Multi scale and then all this other metadata needs to be specified in the future.
Josh Moore: um that's probably something that will keep happening so with each of the specifications that we're going to look at.
Josh Moore: you're not going to be able to get the entire specification done right, so you kind of have to pick your battles and get us from from solid.
Josh Moore: usable point to a next solid solid usable point right that's kind of the game we're playing here.
Josh Moore: um interestingly, all that stuff that got cut off at the bottom isn't got pushed to an issue this morning and conversations have started up again and we'll look at those because everyone here is obviously welcome to join into those conversations.
Josh Moore: So, then, we worked on the.
Josh Moore: Labels specifications, so there is a specification for pixel based annotations right so that's in the spec um and, as I mentioned earlier, the high content screening data.
Josh Moore: um so a lot of the conversations from this morning kind of built on those two efforts right, so there was the pixel based annotation commerce.
Josh Moore: specification that basically got done by beginning of December um but it's clear there also needs to be a vector based annotation specification so polygons meshes point clouds etc um.
Josh Moore: i'm done here, can you add at the bottom of the file cuz i'll i'll lose the chat but I won't lose the hacking define.
Josh Moore: cheers um and then so there were a number of people who raised their hands to talk to work on those.
Josh Moore: I can anyone here who's interested in those people well actually what i'll probably do is, by the end of this call, hopefully we'll have some people here.
Josh Moore: who are interested in being involved in the vector based annotations and then we'll get all of those names on to a github issue, and you can all work together right.
Josh Moore: Similarly for the high content screening.
Josh Moore: specification it's basically a collection of images and then what we talked about this morning was much more, how do we generalize that, how do we take um.
Josh Moore: You know, whole slide images with images laid out in various ways, on top of it have a tissue and and represent that as a collection of images or collections of collections of images, etc, etc, so draga from monash actually has a proposal that i'm someone's just joining like can Carlisle.
Josh Moore: hi Ken sorry i'm going to keep going.
Josh Moore: that's not working, if someone can paste the hacking D notes in the chat that'd be great um.
Josh Moore: So she has a representation that she's basically proposing.
Josh Moore: And she said she would open issues of thinking of Christian, who certainly interested in this as well, so we need to link up the github issues and the image sc post and get everyone working at the same time.
Josh Moore: And then I think the other big categories of specifications that that are certainly are listed here and then i'll shut up and see if anyone has anything that I haven't talked about yet that we need to get on the list, this evening and or this morning i'm are.
Josh Moore: The so remember this is a bit something else we left out of the label specification was the ability to have in two separate czars possibly in two separate location, so one locally one s3.
Josh Moore: A link from the original image data to the to the to the labeled image, or vice versa, from the labeled image to the.
Josh Moore: The original image data so that's.
Josh Moore: That falls under remote links there's an issue for that so anyone who's interested in working on that concept.
Josh Moore: is more than welcome to and then there's a very kind of all of that is really more binary data and then there's this huge other component which is storing metadata.
Josh Moore: And that's what damn near was getting to which is there's quite a lot of information in that one the xml that needs to live somewhere where is it going to live, you know.
Josh Moore: A a very simplistic implementation and could just encode that one the xml as a Czar array and you just have a one dimensional string i'm somewhere that you're reading.
Josh Moore: I assume from most of the metadata it actually makes sense to pull it out and make it accessible in in desire metadata and that will be a body of work that we need to get through.
Josh Moore: The last thing that's on this list the specifications to be discussed is tabular data which is you know if you have a Polygon representation or a bunch of mesh vertices you want to store various information so types of information I get discussed this morning war.
Josh Moore: Were vectors associated with every point So how are the the molecules moving i'm very other kinetic or chemical information.
Josh Moore: But it could also just be the label or some intensity value that's been measured and so having some way to store that, along with all the other representations.
Josh Moore: And now, the floor is kind of open, so this is, first, I think, a process is just getting everything off of all of your chest so that's one.
Josh Moore: Does everyone, you know is up to speed with what each of those specifications is trying to do um do you want to add requirements to the specifications, do you do you want to implement one of the specifications.
Josh Moore: The sky's the limit.
Davis Bennett: The, can I just ask about the high content screening situation, how is that not just handled by the translate parameter of a transform.
Josh Moore: um so for a single plate, it could just be a transform there a couple more layers of the of that hierarchy Davis so each well then, has multiple fields.
Josh Moore: You know, and so there's the information about when the plate was acquired what what its position was um so we needed places basically to store all of that it may be, and so this is part of this was also discussed this morning.
Josh Moore: When there is kind of a generic collection concept, you know once that specification has been written and I assume it will have transformed in it to some degree.
Josh Moore: I think we didn't you just take a step back and rewrite the high content screening to use whatever that concept is we don't want to concepts, but we also didn't want to.
Josh Moore: kind of do the hard work before we got something in place to just show the data right.
Davis Bennett: it's just like one approach to describing a bunch of images that are from the same space is to give the space that name and then the transform handles everything else.
Josh Moore: yeah so we'll so when when we come us assuming we have exactly what you just said, then what we will do is will come and say Okay, but at this point, this point at this point, we need to add more Meta data and we'll do that.
Josh Moore: i'm reading what people have written here now so someone feel free to just speak up.
Davis Bennett: Is the the dimension names, but those still hard coded.
Josh Moore: yeah so that's certain I guess I didn't mention that so that's falls under physical size.
Josh Moore: um so currently every array is time channel that y X and that needs to be loosened and made you know made flexible, so you can have named dimensions.
Davis Bennett: But the approach i've taken as I put the names of the dimensions in the transform object mm hmm and I posted a link in hack md to an implementation of its kind of a nasty mix of multi scale metadata implementations but in there there's one that I like.
Davis Bennett: Its associated with the open organ l data sets that we uploaded on s3.
Davis Bennett: Basically, we went with the Multi scales description of the Multi resolution pyramid and associated with every single data set in that pyramid we have a transform object.
Davis Bennett: Which is pretty simple object it just has a list of axes that are the names of the axes like I really tired of Python Java access indexing issues.
Josh Moore: They just.
Davis Bennett: put this the access names in there and then for every transform that we're applying to the data which currently is scale and translate put those in there.
Davis Bennett: And the nice thing about this is that it's explicit about the fact that your multi resolution pyramid involves the translation step.
Davis Bennett: explicit about the resolution.
Davis Bennett: Sorry explicit about the scaling transform needed to map the data into physical space we don't talk about resolution is that's a separate thing.
Davis Bennett: And then theory that.
Christian Tischer: Each resolution layer has a transformation, a text.
Yes.
Davis Bennett: The underlying principle here and there were, this is an iteration on previous multi resolution metadata schemes and there were some that I thought were to implicit like listing off scale levels, without listing physical information about the underlying data set that's to implicit.
Davis Bennett: So the principle here is a multi resolution image is just a list of data sets so multi resolution metadata should be a list of data of single resolution metadata.
Davis Bennett: Those that exact transform can be found in the metadata of the individual data set.
Davis Bennett: means that generating this multi resolution metadata is really simple you just take the metadata for each of the data sets and you stick in that list.
Davis Bennett: Is there is no multi resolution metadata except the name multi scales and the list of data sets.
Josh Moore: But there will be metadata that applies to this, some of them right.
Josh Moore: So when you specify that.
Davis Bennett: Somehow yeah if you want, you can put some description in the group right.
Josh Moore: Which is basically what we have now so.
Josh Moore: So I think it would doesn't even need to be a breaking change to go from what we have now to what you're suggesting.
Davis Bennett: yeah I think the only difference is mine i'm explicit about the transform and we punted on that in the issue 50.
Right.
Josh Moore: yeah so.
Chris Allan: I was just going to say, I think the conceptual issue that we're going to have going forward with this is that the more explicit we get the more difficult, we make it for implementation of this and it's going to be a.
Chris Allan: it's going to be a push and pull of trying to trying to have the explicit mappings whereas also making it so that someone doesn't have to understand 14 different metadata layers in order to just write five layers of excuse me five layers of an array.
Davis Bennett: And so the logic, I had was like this is how I like to express the physical transformation, but he else might express it differently.
Davis Bennett: But I think if the constraint is the Multi resolution metadata is a list of physical transformations However, you want to express them.
Davis Bennett: It doesn't require somebody to know by my preferred physical transformation scheme, they can have them at their own and it's on the onus is on the reader to understand it.
Josh Moore: yeah, but I think you know, we would need to have one that we're suggesting so.
Josh Moore: I mean we.
Josh Moore: Already so it's an interesting process so for it okay moby so the big data viewer.
Josh Moore: Implementation from from Christian and co you know basically looked at davis's from open or Gal and then already changed it somewhat so you know.
Josh Moore: there's no way to write one implemented in well I guess you could write up an implementation that reads both but you're you'll be hard coding support for for each of the variances.
Josh Moore: And so the process that we're going through here is trying to say Okay, you know as a community we're going to agree on something so that.
Davis Bennett: That they change.
Davis Bennett: order.
Josh Moore: Christian can tell you what happened, I think they pulled it up a layer or something.
Christian Tischer: I don't remember the details.
Josh Moore: But yeah there's a lot of well I like it this way, and you know that's kind of like the worst thing.
Josh Moore: That can happen, so we do need to make the hard choices.
Josh Moore: Okay, but that's actually good, so I mean Davis is already do you have the link to the the the issue that got created this morning Davis up.
Davis Bennett: I can paste it in there yeah.
Josh Moore: yeah cheers R amp D or the the zoom chat.
Josh Moore: Anything that's in the hacking D won't get lost so that's I guess I shouldn't have started the process by pasting all this stuff in the chat.
Josh Moore: i'm MIA culpa so the and then certainly anyone who's interested in and specifying the the the the physicals you know the the spatial context that the images are living in should get involved in that in that issue um issue 28 good job number.
Lee Kamentsky: Are people thinking about working transforms as well.
Josh Moore: yeah, so I think that's the point at which I pulled the plug last time Lee so someone started suggesting that i'd like okay i'm not dealing with this anymore i'm not saying it shouldn't be dealt with, but I.
guess.
Josh Moore: Does someone have a recommendation for what it should actually look like, or is it something that we need to actually get the that the athlete transforms done first before we deal with something more complicated.
Lee Kamentsky: yeah might be something that that standard line, but we use like a beast line.
Lee Kamentsky: of work being field and it's really useful because our images are so large that we don't want to keep writing them as we integrate them into the next in the next layer
Lee Kamentsky: So people are using Trent sort of transform stack to get from the raw data as the image gets worked on line to the eventual.
You know, typically that lists.
John Bogovic: In my view, it should be yeah I think.
John Bogovic: i'm in favor of pushing it a little bit in the sense that if it's a bit too dependent on particular implementation of things, except in one example which i'll say, but like.
John Bogovic: One person could be storing beast blind like coefficients other another person might be storing explicit displacements and another person might be storing who knows what so i'd say except in the case of.
John Bogovic: displacement fields which are pretty standard across tools and which themselves can essentially be stored as a you know X by why by to.
John Bogovic: array in 2d or X, Y y Z by three array in 3D I think and then maybe just a tag thing, this is a displacement field, I think, maybe now it's not the right time to be doing anything fancier but that's just my opinion.
Lee Kamentsky: Just down the line.
Josh Moore: But if someone.
Josh Moore: So, and this is, this is the process that's interesting is you know if someone wants to write up that issue, even if we don't do anything with the issue for the while for a while.
Josh Moore: You know, feel free it will gather you know it's kind of like fishing for people in the Community to either say you're stupid or yeah I agree with what you're doing um so feel free to get it in place, you know we'll look through an example of doing that, here in a minute um.
Josh Moore: You know, and if it really is a case of everyone agrees, and there are a large number of tools across the languages that will support it, you know, then it's then it won't hurt and if someone's willing to do the work than I did I think that's fine but it's.
Josh Moore: there's certainly limited resource question that we're all dealing with right.
Josh Moore: England tells strong feelings on any of these.
specifications.
Davis Bennett: Another thing to consider and I don't think this is necessarily something I want to do, but it's something that they do in the climate field with X Ray and I think the, whatever their hdfs plus format involves but explicitly saving out the axes of your data as a separate data set.
Davis Bennett: That is kind of in between.
Davis Bennett: Putting the metadata as a string in in the attributes file and saving out the full transformation and I think the kit where people wanted to do that, I remember correctly.
Josh Moore: that's an interesting point so.
Josh Moore: All these are currently is not X Ray compatible and you know, I think that is an issue um X Ray doesn't have support for multi scale so that was why I didn't pursue it I tried to get.
Josh Moore: I tried to use multi scales with X Ray and basically got to a Blocker they have a couple of open issues on that Davis so.
Josh Moore: Either what we would have to do is each of the single data set so maybe you know your concept of multi resolution or multi scale is just.
Josh Moore: A set of single scales right each of those could be an x Ray data set that would work or we wait until X Ray basically takes on board our concept of a multi scale and then we can work together with them.
Josh Moore: But I think, and I guess, this is kind of open to to a vote and.
Josh Moore: Opinions from everyone, it seems like a lot is happening in the X Ray space, and it would make sense to interoperate with them.
Davis Bennett: Right yeah, I would like that I do think there's a fundamental issue with representing a multi resolution image in X rays model.
Davis Bennett: Because X Ray wants a collection of images to all have unique access names unique dimensions it's like exactly what you don't have with a multi resolution image, unless you give them like you know see one Z two you don't want to do that.
Josh Moore: Someone else was gonna say something.
Jackson Brown: yeah I mean that's great so the estimate, I have four is entirely backed by X Ray and so, in four dot one of like we're planning to support bellamy's are reading and go play.
Jackson Brown: With for that one and it's like well yeah how are we going to handle multi scale or cedar multi user multi image, or what everyone call it is basically we were just saying each image reach multi scale or each level of the pyramid is a different X Ray object.
Josh Moore: that's that's the way we've kind of seen and you're generating the dimension metadata on the fly.
Jackson Brown: If it's an all of us are we use the metadata right if it's if it's not yeah.
Josh Moore: But there's no dimension array.
Josh Moore: And there's no a rate and.
Josh Moore: I will look at how you're doing this because that sounds like.
Jackson Brown: Oh yes, thing is, we haven't started like.
Josh Moore: Oh, this is.
Jackson Brown: On the roadmap before, not one of what we want to support and.
Jackson Brown: Just because we yeah we know we needs are, but we are going to tackle yet.
Jackson Brown: But at least that's how we know that we can't do it with straight like Czar to X Ray, we have to do some other.
Josh Moore: Right rapper.
Josh Moore: or.
Josh Moore: And we can all keep pushing against X Ray to get them to support this.
Josh Moore: So they're thinking about it.
Davis Bennett: have an issue for that X Ray topic.
Davis Bennett: But just Google X Ray multi skills.
Josh Moore: or one one.
There you go.
Josh Moore: Okay, we just went through a bunch of stuff any questions or concerns or.
Josh Moore: Go for a team okay.
Jamie Sherman: One we've been kind of one or two things we've been wondering about and would like to bring up our concept of samples per pixel.
Jamie Sherman: And because we've run into a lot of headaches around that in terms of like.
Jamie Sherman: You know, when you have an rgb image that's been stored or something like that and it's got three channels, then, how do you unpack that and how do you keep a consistent interface when you don't have you know you either conflate samples and channels.
Jamie Sherman: Or you know where we're trying, with a new dimension right like samples dimension in the case where that pops up and so that's one, and then the other one is like mosaic or tile images.
Those are another messy.
Jamie Sherman: piece of fun to deal with.
Josh Moore: So we have Christoph and we have Melissa here so hopefully we can get some help on this um my understanding, so this is so, this came up the last call I think Jamie brought it up and I didn't have a good answer, I think I asked Melissa.
Josh Moore: And so, at least from the old me tiff spec that the samples per pixel is something we don't necessarily want to propagate into me Czar that it's a complexity that if we can get away from that would be a good thing.
Josh Moore: So floor is kind of open for so yeah there's one thumb up right so um and then I if i'm remembering right in Jamie maybe you have the link, there was a conversation, where the Zeiss developers certainly sebi.
Josh Moore: i'm not sure if Stephen kind of that Wagner Wagner Conrad got involved i'm saying yeah there needs to be support for like scene, or you know another s dimension, you know, so if if that's a general feeling that sorry go ahead.
Josh Moore: No, so if you know if so, if, by having a another name dimension s with some meaning for s would actually fix this I could get behind that box.
Josh Moore: plots.
Jamie Sherman: I mean what we've done with at least in our first or in the implementation for cgi files, for example, because I have to deal with it right i've just since s is taken for samples I just used a, for example, for the next letter in the word so.
Jamie Sherman: Something silly like s for seen in a person yeah that's what I meant sorry thanks.
Josh Moore: So that again.
Jamie Sherman: Is for scene and a for samples so just take the second letter and samples, because the scene was taken already.
Jamie Sherman: But you know something silly like that, but it doesn't really matter what the letter is just as long as it's you know there's some way to populate it or something that it does make.
Jamie Sherman: It prevents this.
Jamie Sherman: That horrible mess of like so i've been given a like i've seen this where you get a seven channel rgb image and then you have to try and untangle you know, like, how do you make the interface clear to somebody as to how to access what channel, and you know.
Jamie Sherman: Like input and output become very different.
Dan Toloudis: yeah and you have branching code paths right because you don't want the last dimension to be one in the case of scale or data.
Dan Toloudis: But you do need that last channel to be three for rgb data or that last dimension.
Josh Moore: No one else has immediate solutions or thoughts on that, I guess, a question would be where does that conversation happen so is that part of the overall just dimension conversation that we need to have or someone want to kick off a particular samples conversation.
Jamie Sherman: I mean, in my head I think if if you really want to keep it out of the you know, like if we don't want to serialized the data that way such that, in a sub block or whatever the right word is.
Jamie Sherman: has three channel three samples per pixel, for example, or for in the case of other image formats right the.
Jamie Sherman: Then we'd need some kind of a mechanism, and it may exist already in the metadata to annotate it such that there's a way to know how to reconstruct the image into you know into a similar to do the mapping forward and backwards.
Jamie Sherman: Unless i'm missing something feel free to speak up.
Josh Moore: I don't have the answers here so.
Josh Moore: i'm kind of thing if anyone else does like my my gut feeling as though that we finally have a library that's actually built to be multi dimensional and you know, we should really use it.
Josh Moore: As its intended to be used as opposed to building and hacks from as we're not day one, but you know we're awfully early in this process if we could keep the hacks out of it for a little while that would make implementations easier.
Damir Sudar: Is rgb or nba is that the only example of where this this heck would have to be, or are there other examples, or can we think of other examples where where you would bump into the same type thing.
Damir Sudar: Because if it's only rgb rgb a maybe we should just bite the bullet and say well that's where we'll have to.
Damir Sudar: Be special.
Davis Bennett: Well rgb a is a that's a display thing, but the source of data will be a microscope that someone may have acquired five channels seven channel.
Davis Bennett: Oh.
Damir Sudar: yeah and then those channels are real channels right, so I was more thinking of this specific thing of this yeah this biological natural thing of rgb being special.
Damir Sudar: Because it's multiple for us and channels sure that those needs to be in their own dimension.
Christian Tischer: But in a in a way, if you think of a microscope I mean you could get the same image.
Christian Tischer: In principle, right by taking free images, with a camera and putting three different filters on top so maybe.
Christian Tischer: just saying, these are three channels and then indeed somehow fixing it with the Meta data I don't know.
Davis Bennett: That the access pattern, I think, is pretty important so guess if you're pushing pixels to the gpu or on to the monitor screen itself you want rgb values to be right next to each other in memory.
Davis Bennett: If you have acquired data it's a separate channels, you will probably do something different to the different channels, then you want all the ours to be next to each other and memory all the g's of the seas and whatever.
Davis Bennett: And to add on to the question of another data set that could be like this, I think, for us in this lifetime imaging choir like a time series for every pixel.
Davis Bennett: So I think the access pattern should maybe determine this more than anything else.
Josh Moore: So I think that's right in terms of how you lay out the data, but in terms of this specification.
Josh Moore: you're just thinking about in five and Czar.
Josh Moore: Does having a dimension for these that you can choose to put either at the front, or the end not cover the the data layout that you're talking about to optimize and then it's up to the user to make those choices.
Davis Bennett: Think, as long as you have names for all your array axes.
Davis Bennett: And you push all this under the user for better for worse right.
Christian Tischer: But this this access pattern stuff could that be dealt with by chungking differently, I mean country save it, I mean already maybe in the way that you shank the next level way along the Channel access or something like that.
Josh Moore: So I think by.
Josh Moore: By dimension order chungking parameters and compression parameters.
Josh Moore: With those three three primitives you should be able to lay things out on disk like you want without us needing to build into the specification.
Josh Moore: Oh, is it an rgb a therefore handle this way right, I guess that's what i'm trying to avoid as the special casing where we actually you know, like you have a if clause checking for some for some weird flag which is my understanding that's that's where we are today um.
Josh Moore: Maybe that's naive.
Josh Moore: don't really have a good answer yet about who's writing this off, but.
Josh Moore: someone's welcome to.
Josh Moore: give it a go it's a good problem.
Josh Moore: it's a good thing to get right let's put it that.
Jackson Brown: way, yes I.
Jackson Brown: i'm assuming I will likely be doing the work for me, is our writer, is to jail and i'm basically saying i'm concerned as to if is our only supports five D, or it has that like five dimensional.
Jackson Brown: Like hard coded requirements i'm like what's going to happen as soon as someone says, I have sample data sorry.
Josh Moore: yeah so yeah everything i've said so far is predicated on getting rid of the five D hard coded order, so we must have flexible dimensions, they must be.
Josh Moore: You know, basically you define your your dimension order, I guess, like you do and by formats are and tiff file and it works, the same enormous so if we have that.
Josh Moore: Does everyone feel comfortable without special casing.
Jackson Brown: I think that I think that also answers the other question that gave me lead off with was like music handling and if you can say like this dimension is titled dimension that kind of also handles that too.
Josh Moore: yeah I mean that's what chungking gets you so.
Jackson Brown: yeah.
Jamie Sherman: The Dolby just on that in that vein one weird it depends on the file manifest the manufacturers format as well, but.
Jamie Sherman: Did the does the indexing have to be a dense representation or can it be sparse mean doesn't have to be contiguous.
Jamie Sherman: 123 or can it go 135.
Jamie Sherman: In its indexes.
Jamie Sherman: I know that sounds weird but.
Jamie Sherman: Scope manufacturers, essentially, or at least site Nice in this case uses.
Jamie Sherman: The m index to align across scenes or yeah across sub walks and and so they're not guaranteed to be sequential in a in a scene, for example, which makes it all really weird.
Jamie Sherman: We haven't dealt with that cleanly in a CS.
Jamie Sherman: Island cgi.
But.
Jamie Sherman: Like we're just dense packing them at the moment but i'm wondering if.
Jamie Sherman: There are better ways to do it.
Josh Moore: I mean my assumption, I guess, I would have to see the data, and this is getting quite detailed would be if you if you set up the trunk being right and you don't write, one of the indices then they're just be nothing on disk.
Josh Moore: And so that would be fine.
Josh Moore: If someone tries to read it they'll get the default revalue, though, so you would probably want to add metadata to tell them what I don't want this year yeah okay.
Jamie Sherman: All right, thanks.
Josh Moore: Okay well.
Josh Moore: it's too late for me to have a coffee sorry no wait myself back up I shouldn't have gone running before this um so we're at an hour now so one more hour.
Josh Moore: um, are there any other big topics anyone would like to kick off from the list of specifications and or new specifications.
Christian Tischer: I mean, I have a small topic, maybe what's the status of the display settings.
Josh Moore: Okay, so now we're kind of going to the list of things that we haven't talked about yet so that's good so.
um.
Josh Moore: The display settings So what we did.
Josh Moore: For our own purposes and maybe this is opening pandora's box um.
Josh Moore: So we were bad citizens basically we said.
Josh Moore: we're not going through the process of specifying this block of metadata, yet we know we need to but couldn't get it done.
Josh Moore: So we're going to put all this metadata under a block that's in a namespace that we don't consider for everyone's consumption and that's the Romero block right, so we said we have this metadata display metadata in.
Josh Moore: You know marrow for many of the images for all the images that are in the ID or we're just going to take it out and we're going to store it in the tsar and so, if you so I think in.
Josh Moore: can't remember if visor is making use of it, I think it is Trevor you can correct me.
Josh Moore: But certainly in the party so with the Python implementation, it will show you your images with the colors that you're expecting because we have the metadata Now all that metadata needs to get turned into.
Josh Moore: What do you want to call it, you know, is there a is there a specification called display settings that it gets attached to each image, or is it part of a larger.
Josh Moore: concept, you know here's here's where the plus the process of designing a specification comes into play what's a good name for the thing what's going to make this generally useful for everyone and represent concepts that everyone can understand um Someone needs to do all that work.
Josh Moore: For us it's on the roadmap and we'll look at the roadmap here in just a second um but.
Josh Moore: We haven't started work on it so that's certainly something if someone is interested, they could dig in, and you know really it's taking the json out of the o'meara block and putting it ooh someone's.
Josh Moore: Adding issues excellent um and and naming it something that means something for the Community and driving the whole consensus process so.
Josh Moore: invitation to get involved, I guess, otherwise we will get to it as quickly as we can.
Christian Tischer: Okay, then I have another question.
Christian Tischer: If it's if it's part of this specifications thing I was just with the I had a discussion with Stefan Seifert about labels.
Christian Tischer: about the down sampling.
Christian Tischer: Like I don't know what the writer libraries do right now I wasn't aware that i'm opening a pandora's box.
Christian Tischer: There, and I was talking about it, but if you down sample label masks I mean you don't want to do nearest neighbor because then you invent your neighbors so you have to do something else, and then.
Christian Tischer: There are at least to kind of natural options, one is to kind of take the middle pixel layer higher or you take the most frequent PICs layar or.
Christian Tischer: You do like the guy such a new yeah you somehow store a whole map of frequencies of labels at each location in the down sampling, I was just curious what the current writer writer implementations are doing there.
Josh Moore: So that one is our implementation is using.
Josh Moore: Open CV and I can dig up the code arm I don't know if anyone else has implementations that.
Josh Moore: You know it's certainly a question and actually we need to capture the metadata of what's happening.
Josh Moore: So I think the only metadata we have now is to say, which method you're using so basically you just you write that method in.
Josh Moore: arm, but if there needs to be a flag or an enumeration so you know you can pick one of these modes for doing the down sampling, then that would be an extension of the current specification to say here, we really need to know exactly what you did.
Christian Tischer: Okay i'm.
Davis Bennett: Just gonna say I have a Python library Where are you, I support the mean in the mode.
Davis Bennett: that's pretty bare bones.
Christian Tischer: And then use mode for the labels and mean for the intensity is too big.
Davis Bennett: yeah and I don't.
Davis Bennett: bother stefan's all felt, but this is only for visualization so the lossless down sampling, I think, is when you want to do annotations and I don't support that.
Christian Tischer: Okay, no, but I think that's reasonable, I mean I would I was writing something similar for the Java right yeah.
Christian Tischer: I was just curious, but people do.
Josh Moore: i'll just keep going through the list that people added here unless something else someone else just throw something out maybe they're fairly short of the Java writer.
Josh Moore: So I guess tissue you have a Java writer at the moment right.
Josh Moore: No.
Josh Moore: So did you know.
Josh Moore: So the output from bio formats to.
Josh Moore: Raw if you pass it the current the right flags which should become the default will be in armies are so that is a Java writer.
Josh Moore: um and then there will be a Czar reader and a Czar writer and bio formats, which should kind of be a basis for the Java stacks anyone who want who needs to read our rights are.
Josh Moore: So that's currently on a branch of anyone who's interested in testing that out, is more than welcome to.
Christian Tischer: Okay, the next contact you, I think we kind of needed rather sooner than later, so.
Josh Moore: Okay, and I think Kimberly was trying out the converter class, but I don't know the status of that.
Christian Tischer: Okay.
Josh Moore: Someone put geometry Mitch meshes points, who added this and what do you mean.
Josh Moore: They may have left by now so.
Josh Moore: If no one else wants to talk about it, I.
Davis Bennett: mean I would speculate that at some point, there will be data structures that don't naturally fit in a Czar array.
Davis Bennett: And maybe geometry is one of those.
Jackson Brown: I remember like that specific geometries message points being referenced in like a query annotations in the Jesse issue, I feel like I remember that exact string of characters it's like, how do we store these annotations read them back out.
Josh Moore: This Tele still here.
Talley Lambert: yeah hey.
Josh Moore: You did not this, no, no, no, it doesn't make sense that that is kind of what it would be referencing maybe.
Talley Lambert: It does sound familiar from that post the truth of the party is that you know we don't have any sort of.
Talley Lambert: we're we're we're leaning heavily on these sorts of conversations, to come up with the answer that you know, there is no internal model that it's like Oh, we should use when the party does, because the party is just like looking for there to be some sort of.
Talley Lambert: You know not not yeah consensus on on how those annotations might be stored we don't we don't have any sort of saving format ourself.
Josh Moore: yeah so yeah I think we'll get there, someone was going to work on, I can't remember if meshes got picked up this morning, someone can maybe look, but certainly.
Josh Moore: A vector based representation and the two that were mentioned where PL why and vr ml and someone was going to run that via the specification process so.
Josh Moore: You know that may produce something that supports enough of the implementations sorry enough with the the requirements, but davis's right, you know I think we will have to be prepared for the situation where we get to the point where that.
Josh Moore: which we want to specify.
Josh Moore: is just too complicated to get into the tsar and then we'll make some decisions, for example, probably pretty soon.
Josh Moore: will want a specification for how to link to external files right and you just say there's this other file and it does something really complicated because otherwise we'll get into the situation where we are storing pdfs as our arrays or you know, whatever um.
Josh Moore: I don't have a great suggestion, there is a specification that's built to do that it's called aro CRATE if anyone wants to look at it, I actually kind of like what they've done um.
Josh Moore: Everybody checks is like the place to go for any type of stuff like that say that again research objects yeah yeah.
Josh Moore: um the caveat, however, is so i'm just pasting the link under what.
Josh Moore: Davis just said um it's not built for files like Czar so linking from these research object concepts to a multi file data set like Czar.
Josh Moore: breaks everything similar like the noto, for example, doesn't work with Czar you must, is it up your Czar to upload it to the noto.
Josh Moore: um so there's there's like two worlds there's the monolithic file world and there's the chunk you know cloud storage file file format world um and it's probably up to us to come up with a bridge between the two of them.
Josh Moore: Okay, feel free to interrupt i'm going to just try to get to the last few things and then.
Josh Moore: We can talk a little bit about process, because that worked pretty well this morning, so I wanna I want to go fishing for more people to get involved in the issues um.
Josh Moore: So we talked about all me xml dummy or any specifics left on that.
Damir Sudar: Note the only thing a little bit is so you know i'm a member of the.
Damir Sudar: By averaging North America working group that's trying to work together in a whole bunch of other other people to put together a.
Damir Sudar: A set of require or set of recommendations of what should be in that.
Damir Sudar: metadata.
Damir Sudar: We.
Damir Sudar: keep on bumping into which of this what we're trying to define should actually be in the.
Damir Sudar: Implementation side meeting in bizarre bizarre world and what should still be on the Meta data side on the pure Meta data side and so that that's that's one one challenge that we keep running into any other one is.
Damir Sudar: If you would like your metadata to be somewhat monolithic not not be scattered across a term file system.
Damir Sudar: Because you would like to be able to read it all, and then interpret it all, and so that.
Damir Sudar: comes down to where would it be stored inside a SAR would just be a block at the top that says, this is where all the metadata guys or would it be.
Damir Sudar: kind of associated with the individual chunks say if there's a title somewhere, then the ordinance of that file could be with that title right, but the garden that's our kind of a more a new position type of thing the stage for what i'm talking about.
Damir Sudar: So, so that that that that is one of those challenges that we we we have punted on so far, but we need to come up with but kind of great approach.
Josh Moore: All I can say is, I agree.
Josh Moore: needs doing anyone have immediate opinions to add to that other than you'd like to see it done as well.
Jamie Sherman: Like i've wrestled with some of that in size format files and like one of the things I would push on hard in terms of like it's.
Jamie Sherman: I I come from the mass spec field and i've seen this from both sides, and one of the issues that really comes up with open specs.
Jamie Sherman: Is the mapping right so it's great come up with a wish list of what you would like to see in that, but if you haven't tightly defined what that is like what exactly that property is it becomes an absolute nightmare.
Jamie Sherman: For people to to implement, and not only to implement, but it can have like in the mass spec space, it can have catastrophic effects on your identifications from your raw data.
Jamie Sherman: You know, like if the resolution isn't stored in the right units, because the units haven't been clearly specified in the spec your tolerances are all off and you'll start matching things that don't even you know, and I i've actually seen exactly that one happened.
Jamie Sherman: You know, so I would it's a strong ask on like if you're proposing things that you want to see an aspect that has larger verbiage, you know.
Jamie Sherman: Specifically bina you know, like if you're extending it that way.
Jamie Sherman: tight definition definitions on what the things are is really important.
Jamie Sherman: same for me like if it's a new set sorry there's a dog chewing on something in the background, so.
Jamie Sherman: Long as it's not you, then yeah.
Josh Moore: anyone else on metadata storage monolithic versus scattered versus.
Josh Moore: binary versus text versus json vs xml versus it's gonna be a fun one.
Rohola Hosseini: Sorry, so maybe one point, yes, so I was also looking into this packaging for a screen data and stuff like that, so how is the tsar handling.
Rohola Hosseini: The metadata which is like a like files or things which our types, like, for example in America, you can attach to each level like different files like can be any format So is there any like guidelines on how to store those data or.
Josh Moore: No, I mean to some degree that's exactly what we're talking about here is.
Josh Moore: So cola has data in a numero that's high content and is looking to get that into one means are we can get the imaging data into the high content.
Josh Moore: format, but then there's everything else right there's all the annotations that are numero all the attached files um you know, so I think I mentioned it on image se is that.
Josh Moore: Anything that's that i've i've said is missing that's basically the process we're doing here so that would be linkage to external files and um yeah the key value pairs from your from the annotation so those will all need to get stored somewhere.
Josh Moore: And that hasn't been done yet.
Thank.
Josh Moore: Okay, someone added remote links relationships between data sets we kind of talked about this, but not exactly sure.
Josh Moore: So anything else to.
Josh Moore: open to that kind of tabled, I don't have anything else down.
Josh Moore: And, someone said label features status, so I think I mentioned it i'm just.
Josh Moore: So the the pixel based annotations the labeled image is a specification that you know everyone's encouraged to use it, we will continue to support it um.
Josh Moore: well.
Christian Tischer: I think somebody was working on like let's say mean you have these labels right, but maybe you want to store.
Christian Tischer: a bunch of numbers, with each label right.
Christian Tischer: Like some measurements that somebody.
Josh Moore: that's so the feet label features yeah I see what you mean, so I didn't know if it was the feature of the spec or.
Josh Moore: No you're talking about a Speck, which is the features on for labels um as far as I know, no one's worked or anything on that, I mean so drag from monash I think updated the specification, so that you can attach.
Josh Moore: Small metadata to each of the labels so basically you can add arbitrary values to the labels that you've used on your segmentation.
Josh Moore: um but that's not going to scale, you know if you if you really have a table of large feature data, you need to get that out into an array because it's just it's going to be horrible um and that's probably something we'll see.
Josh Moore: In many different specifications so going back to what don Maria was saying, you know.
Josh Moore: For small smallish to mid sized metadata and make sense to have it in my opinion is that makes sense to have it in json.
Josh Moore: Eventually, you will reach a limit where you want to take it all and just turn it into binary and you want to tell people you know you need to go parse the binary if you want to deal with this big thing.
Josh Moore: And I think that'll happen with the label features as well.
Davis Bennett: one kind of wrinkle for the label field images that we've run into is data type that you use one hand to support the most labels, you might want to use in 64.
Davis Bennett: On the other hand, these images get really big so we're still trying to figure out when we use a data type that reflects the actual number of labels, we have.
Davis Bennett: which can vary sample to sample so you could have one sample where you're looking for nuclei you only found one another sample you're looking for nuclei you found two to the 32.
Davis Bennett: These arrays are very different data types, but they kind of contained the same type of information so stefan's all felt proposed basically.
Davis Bennett: For every single array of data set that represents a label field to give it labels in the biggest integer space possible.
Davis Bennett: and express a mapping from the true ID it's like local ID if you only have 255 label you still preserve the concept that they came from the UN 64 space and then you have a metadata that says now this thing is really 200 billion, but locally i'm going to call it seven side this data.
Davis Bennett: To layer of complexity, but it can really save a lot of space preserve the full space of labels available can save something that's you went eight when otherwise you'd be doing you at 64.
Davis Bennett: We haven't implemented, this is just an idea.
Bill Katz: So I mean that's that's the.
Bill Katz: type of compression and we experimented a lot with that in doing compressions for our label block data, where especially.
Bill Katz: I think this has great impact, as you have sort of like much smaller block sizes within the larger chunks.
Bill Katz: Because within a particular area, the labels aren't changing very much at all, so you can wind up with this, you know great compression technique, but i'm not yeah i'm not quite sure about the difference between like, whether that be in a compression or the specs or.
Damir Sudar: And all the topic of story labels and what.
Damir Sudar: We just talked about reminds me, the problem is storing labels as label images they cannot have overlapping objects right, you can only have touching objects at the at the best.
Damir Sudar: If we were to switch away completely from the idea of storing it as images, but if the forum as.
Damir Sudar: run like encoded tables or some some other storage mechanism cool tour maps or something like that, then you could allow overlapping objects as well, and you no longer have this problem about how many objects, can you maximally sorry in an image.
Damir Sudar: that's maybe not something that we want to discuss, because it means throwing away a whole bunch of work that has been done already right.
Lee Kamentsky: way i've done, that is to have a mapping use the labels matrix as a mapping and the places where they do overlap you.
Lee Kamentsky: Just have all the mapping goes to a list of two objects that share the same pixel.
Josh Moore: yeah so I mean there are a couple of ways, so currently.
Josh Moore: there's no overlapping, so you would have multiple label objects, if you needed to support labeling sorry overlaps.
Josh Moore: yeah and we would need to choose one of the solutions you guys are spelling out or multiple of them.
Josh Moore: You know, to take that specification to the next level, so we could add in the the list of multiple objects or.
Josh Moore: You know I don't actually think it's that bad to throw things away, Dom here now, the current implementations will need to keep supporting this data until the data gets upgraded some future point right.
Josh Moore: um so that is complexity, but the goal of all this is to get the specifications right, so I don't think we should say it's it's any of it's written in stone.
Josh Moore: Okay, and the last thing the last grenade that someone through here is yeah how to deal with the number of files.
Josh Moore: So.
Ken Carlile: yeah so.
Ken Carlile: i'm assisted Min I may not be in the right forum for this, but mark pointed me towards you guys so i'm gonna stick my nose in.
Josh Moore: So we are.
Ken Carlile: So where do you have a good.
Ken Carlile: engineer yeah okay so mark kid is typical.
Ken Carlile: Assuming I pronounced his name right which is a big assumption I don't think i've ever heard it pronounced so um.
Ken Carlile: So as a system admin I get to deal with.
Ken Carlile: All of these czars and and fives and stuff landing on the storage that I have to manage.
Ken Carlile: and
Ken Carlile: A big thing that that comes up for me is what exactly is expected by these formats, to be.
Ken Carlile: On the on the storage side, do you expect object, do you expect a deck like s3 do expect it to be file.
Ken Carlile: You know it's it's very unclear to me.
Ken Carlile: And this, I think, a more a more critical critical part of this is, from what I know and i'm again SIS admin i'm not a software developer i'm not a scientist i'm sorry.
Ken Carlile: Czar by default at least one of the writer implementations of it just writes all the files to a single directory.
Josh Moore: So before you got here I I did my spiel on this because it's killing us as well, so.
Josh Moore: that's my top.
Josh Moore: My top to do is to make that go away because it's you know it's very painful so.
Ken Carlile: 20 million files in one directory is bad.
Josh Moore: yeah i'm I.
Josh Moore: Think i'm on the order of like 50 million now in a directory so.
Ken Carlile: How do you even do anything with it.
Josh Moore: You don't, which is the problem right, so it makes it a very clear and present Blocker that has to be fixed um so let's assume that's fixed, can you know because it's good to have your feedback.
Josh Moore: Do you have any other worries.
Ken Carlile: Yes, i'm from our at our edge analia our storage systems.
Ken Carlile: by hook or by crook, or by chance, or by us doing something right can handle a very large amount of files.
Ken Carlile: At other htc locations, that is not the case, because they're going to be running stuff like GPS or luster as the file system and those will run out of of file account real fast if tsar is used on them, at least in the way that i've seen it used engineer.
Ken Carlile: So I think that's something that needs to be brought into consideration, there should be.
Ken Carlile: Again this is may not be for the implementation side, but there should be.
Ken Carlile: a lower limit on.
Ken Carlile: The size of the files, so you don't end up with these millions and millions of files that just stop the file system from working.
Ken Carlile: or becomes so cumbersome to the file system itself that it becomes impossible for the user to be retrieving them in a sort of timely fashion.
Ken Carlile: So I think that is a consideration that I just wanted to bring up to the Community.
Ken Carlile: So, but it like in the instance of Stefan is all fields lab I believe they have something on the order of.
Ken Carlile: 500 million files in oh gosh I should I should have grabbed this before I started talking.
Josh Moore: yeah don't do a final this thing now.
Ken Carlile: Oh, I have ways.
Josh Moore: interview.
Ken Carlile: Sorry, no starfish.
Ken Carlile: 845 million files in 252 terabytes on one of our storage systems.
Ken Carlile: And like I said, we are fortunate gianelli to have some that can handle that other places, no way.
Ken Carlile: And I understand that there is a big motivation towards we just want to be able to retrieve this little part, so we can visualize it and we just want it, we want to be able to write from everything at once, from all our possible sources, we want to be able to write, so we get lots of parallelism.
Ken Carlile: But there is a lower bound to where or there's there's a boundary to where the performance hit from all the latency from all those files will overcome the advantage of being able to just pick and choose one you know a few K from here and UK from there and UK from the other place.
Ken Carlile: So those are those are my big concerns about these sorts of file formats html5 has its own problems, you know one single monolithic file you got another whole set of problems and that's simply doesn't work with the storage systems that we have so.
Ken Carlile: I don't have any good answers I just have complaints.
Josh Moore: and
Bill Katz: Just to add to that so basically there was this issue of shorted I mean.
Bill Katz: So nested directory is only get you so far, the issue is more that you just have lots of files and at some point there's a trade off between you know how small the files can get because you want to be able to slice the data more granular early versus larger data.
Bill Katz: Which is better from a file system perspective and sequential access, but then starts getting you other kinds of problems.
Bill Katz: And so, like, at least on the neuro glanzer side that was the distinction between moving between the uncharted and the shorted file formats, where.
Bill Katz: You know they're just grouping all kinds of chunks into one shard shard file and the other huge advantage of that is that when you start dealing with cloud data stores.
Bill Katz: That, then you can coalesce the number of your http requests into one that does a range query so that you potentially getting a lot of Blocks with one round trip with.
Bill Katz: with at least one http request as opposed to being required to have one http request for every single object that you're pulling so it's, not just for the local file systems or whatever it's also, for you know, like these.
Bill Katz: These web services that are working on blob stores.
Josh Moore: Even when.
Bill Katz: I think that might be out of the scope, in the sense that you know this, this is talking about shorted files and maybe we're just it's just simply not going to be in the cards here.
Bill Katz: Because of the way I think there has been some discussion about shorted files and in Czar from from offshoots or something like that certainly neural glands we've we've looked at that.
Josh Moore: yeah so I added a link to the to the don'ts buildings so trevor's not here so i'll try to represent this at least a bizarre space, this is kind of developed.
Josh Moore: outside of Czar like you said you know it's it's a layer on top of Czar um I don't think that's ideal, like, I think.
Josh Moore: um you know if we're doing all this work to have a file format that we're all working together on we probably need to have some involvement with a specification, but for the moment it lives here in this fs spec reference maker repository.
Josh Moore: And it's basically a way to write down the location of um yeah the individual chunks in other files so, for example, you can take a hdfs file you parse hdfs file file it generate some I think json and then you can use that json the json plus the html5 gives you a Czar.
Josh Moore: Protocol for accessing the hdfs data, you know, and I think we can take this further I think you know, there could be a Czar chunk to Czar super chunk.
Josh Moore: process which is basically your shorted uncharted you know you there would be a knob that someone likely assist admin could take and say.
Josh Moore: Sorry, you know you are, you have broken the rules, you now must combine at least this many files together into larger files um.
Josh Moore: And then, what we need is that specification so okay I combine these things together, how is it that I represent what i've done so that the user doesn't need to record what they've what they've built right, and I think we can get there.
Bill Katz: I think that makes a lot of sense.
Bill Katz: For the I mean I think one issue might be when you start doing rights.
Bill Katz: Interest place rights, in particular, as opposed to some other mechanism so.
Bill Katz: I guess if you're going to push it off to html5, then it will handle it but.
Josh Moore: yeah I mean, I think that we're just giving people tools they'll have to make the choice right, so if someone wants parallel rights, then maybe they argue with their system and and say no, I actually do want this many small files, you know i'll pay for it, or whatever.
Josh Moore: A lot of us have public only data, you know we've the data is written it's not going to change anymore and there you can do a lot of compression and cleaning up um.
Bill Katz: yeah beautiful data sets I think it gets a lot easier.
Bill Katz: yeah definitely.
Josh Moore: Okay.
Ken Carlile: Just one other.
Note.
Ken Carlile: And I didn't speak up when when it came up, but it was about the metadata where to store the the metadata whether to keep it with the tiles or.
Ken Carlile: Put it all in one unified space, to my mind, and a naive interpretation put it all in one thing region into memory, then you never have to go back to the desk for.
Ken Carlile: Now sure there's going to be instances where your metadata doesn't fit in memory, but.
Ken Carlile: If you can get that with one request as opposed to requests and seeks and requests and seeks all over the file system you're going to benefit from it yeah.
Bill Katz: That that does bring up again the case of immutable versus mutable data on the on the disk right if the metadata is changing um, then you might want to have that where the metadata is actually changing on the on the smaller units that you're actually potentially modifying.
Bill Katz: I mean we guess where it's essentially like almost like a caching layer right where.
Ken Carlile: yeah and you would run into those problems where you have multiple writers and they all need to update the Meta data file so yeah it.
Bill Katz: Was I was actually i'm sort of experimenting with the notion of using almost a log structure for the metadata, and this was particularly in the case of.
Bill Katz: When I had certain aspects of the metadata that was changing, and I wanted to keep a log of it like um you know, like when Max labels change or something like that.
Bill Katz: And the notion that I would just be able to append as opposed to rewriting the entire metadata file like an under certain circumstances that makes.
Bill Katz: That that that's an interesting concept and you also get sort of like a permanent record of how the metadata changes if you're not making that many rights.
Ken Carlile: My question about that is at what point does it become does it just start making more sense to actually use a real database to store your metadata instead of relying on the file system as a database.
Bill Katz: yeah yeah I mean that's a log is a very simple.
Bill Katz: You know, a particular way of doing the database in a very simple way but um.
Josh Moore: yeah I mean there are, I think, Chris is still around I mean Aaron will know, so you know, there are experiments with tile db for some of this as well you know so it's there are formats that are built for doing it, you know I I would.
Josh Moore: They have their own issues directly related to you know how long do you let someone just keep adding and adding to the log before you say no, you must actually go to a vacuum and clean up what you, you know the mess you just made so.
Josh Moore: You know, every solution will be proposed will have its limits, either way.
Josh Moore: And so we'll try to come up with you know.
Josh Moore: Recommendations for the user on how they should turn the knobs spot you know, there are people there will be people and soul failed as one of them who will take everything to the the most interesting limit to get things done, and we have to make that be possible as well, so.
Bill Katz: I don't envy you.
Good luck.
Bill Katz: in the sense that that the law, a lot probably it gives you some notion of provenance which we don't really cover much within these things.
Bill Katz: it's sort of like you write it out, once you get the data it's there it's static when you start talking about more of these in place rights or rights in general.
Bill Katz: Is there any notion about you know the provenance of things that have changed over time, or what happens if there's conflicts or if there's a race condition and two people right chunks at the same time, which one wins do we know which one long.
Josh Moore: yeah and we're not having the alternative is then to build that into the specifications themselves yeah.
Bill Katz: And it's definitely true that I think some use cases don't require provenance at all it's just going to slow things down and make things more complicated and other use cases I could certainly see that to be very useful.
Josh Moore: going to say something to you yeah.
Jamie Sherman: Well, it was kind of curious so.
Jamie Sherman: How much do we think of the only means our spec or the armies are as a reading container versus a writing container because those are I mean, I understand that both are.
Jamie Sherman: Viable but in terms of like instrument acquisition often what happens is that.
Jamie Sherman: You know, like like if we want instrument manufacturers to actually implement direct own these are writers, for example, right.
Jamie Sherman: Like often what happens is that a selling point for them is how fast their instruments actually acquire data and how fast they slam it to disk.
Jamie Sherman: And so often what they'll do is they'll just cash it locally into a temporary file structure and then, when it gets written out into their proprietary format it's then reformatted behind the scenes before you even see it into that finalized structure, so I guess what i'm wondering is.
Jamie Sherman: For.
Jamie Sherman: For the writing issues that come up and i'm not sure that this actually covers the metadata directly but, like in general, does it make more sense to say you know.
Jamie Sherman: This is the end and file, you might use an intermediary of some form to get into this, but this is what we want to see because 90% of our users are going to be using read access i'm just asking i'm not yeah i'm curious what people have to say on that one.
Anyone.
Bill Katz: I mean, from my perspective, the at least from the fly am side you know, when I look at at a.
Bill Katz: system like Czar four and five, I think the primary use case, the reason why stuff like that was written is for parallel rights.
Bill Katz: The ability to be able to quickly move data into a whole series of files and then to do it in a clustered kind of way where where you can do it now, the thing is that if.
Bill Katz: In my mind if i'm you know and it's also different between like talking about mutations that are doing in place rights versus doing ingestion to me Those are two separate processes.
Bill Katz: In one in the ingestion case there's a lot of control that can be given to the to the systems that are doing the writing.
Bill Katz: That you probably have control over how you're subdividing the writing such that you could potentially use a shortened system right you wouldn't necessarily have to have like a.
Bill Katz: fairly small chunk per file size system, you could sort of like say this whole sub volume goes to this chart file, you know, and you paralyze it along the shard files not along the the the chunks and so to me it's kind of like.
Bill Katz: One of the real benefits of an n five or is is our is when you have more of a very highly parallel and maybe you don't.
Bill Katz: Really, you can't really constrain it that much, but at least you can kind of say that you won't get into too many race conditions per object per chunk profile that the granularity of your locking is such that it's it's fairly granular compared to a shortened file arm.
Bill Katz: And so, at least from our perspective, you know we do massive ingestion so that's like huge amounts, and it is similar to what you're saying we do a lot of alignment and then we just dump.
Bill Katz: And then we sort of have a notion, but after that there's a lot of churn in terms of in you know, like what would be in place rights where we're modifying data, but we tend to try not to actually affect we use databases.
Bill Katz: We don't we don't do file stuff because at that point, you know we're trying to keep the the bulk of the data relatively static and we're we're modifying the stuff on top, the layers on top.
Lee Kamentsky: For us, and we use these komatsu cameras which they would never implement oh means or.
Lee Kamentsky: Just there's no way, and so it is yeah it is and we are writing 6464 by 64 chunks within our massively parallel processes.
Lee Kamentsky: So yeah.
Lee Kamentsky: I really wouldn't envision any microscope manufacturer.
Ken Carlile: yeah I, I think that.
Ken Carlile: It is in extremely unsuited to data dumps off of an instrument.
Ken Carlile: Because of that latency of dealing with all the files, with an instrument you're pretty much going to be getting a single stream anyway, so you don't want to spend that compute time and network time and latency on transferring the data, because you know you'll get.
Ken Carlile: 20 megs a second hundred meg's a second.
Ken Carlile: Writing Azhar out from a single machine.
Ken Carlile: As opposed to you know potential of like four gigs a second writing it.
Ken Carlile: As a single stream.
Ken Carlile: Assuming you've got the storage and the network to do that.
Josh Moore: anyone else.
Jamie Sherman: Those points or take away I get your points, but I would say, like so I worked at that size for sorry science for a while, in the mass spec space and they actually did make an effort to implement the.
Jamie Sherman: open standard to right, and there is it's always an ongoing conversation, so if it is like it isn't such a far fetched thing and and I like I.
Jamie Sherman: Like it is possible to get them on board i'm not saying it's going to happen quickly or easily but and.
Jamie Sherman: In general, I would say it may not be the it may not be the format which the instrument requires the data immediately internally, but it may be the format, the are allowed to.
Jamie Sherman: That you see when you actually open your files to view them in their in their browsers as opposed to an instrument control software, for example.
Davis Bennett: yeah that is a.
Davis Bennett: Personal aside like I think my cross campus who buy these expensive cameras exert zero pressure on the manufacturers for on the software side and they really could.
Davis Bennett: could say, like the orca flash we're buying 80% of those per year, you can come to us with better software otherwise we'll we'll buy from indoor and so like it's on the p is and the customers with the buying power to actually talk to have a Matsu and make demands that's my two cents.
Josh Moore: yeah I mean, I think, as a as a part of this, we will try to organize it's not exactly a union, but you know we will try to do some of this organization and.
Josh Moore: give everyone material that they can give their vendors and say you know, this is what I wanted it needs to be a PDF that's easy and you just kind of hand it over um.
Bill Katz: That there is an interesting aspect here also about some of the new standards that are coming out even on disk storage so in particular i'm thinking of the SI P P value a you know storage mechanisms that.
Ken Carlile: The new envy me oh bill bill.
Bill Katz: yeah well, I mean.
Ken Carlile: The shipping product bill there is never been a shipping product.
They keep on trying to do.
Bill Katz: Okay yeah I totally can but it's still something that we probably should make a note about and just keep keep a prize.
Bill Katz: So one of the problems, was that this actually occurred with Seagate kinetic it was a long time ago right they tried to get it never went anywhere.
Bill Katz: But the notion was to cut out this whole posits file system layer and just go directly to key value and actually implement this on the storage side.
Bill Katz: But the reason why I find it fascinating and just kind of interesting to keep in the background here.
Bill Katz: Is that a lot of the stuff that we're talking about in terms of n five Czar and the very small chunk sizes and stuff like that could be extremely expedited if you actually wound up with a industry standard about dealing directly with key value kind of storage mechanisms.
Bill Katz: And and there you know, like there's at least one group within um.
Bill Katz: I forget what the company is but they're there to Sheba maybe or I can remember, but they basically have a team they're talking about it constantly they just recently adopted the standards in the SI P, I think, as of 2020.
Bill Katz: So, whereas before with the kinetic stuff there really was no general arm, you know.
Bill Katz: Industry standard, there is an industry standard now whether that actually translates to storage devices that implemented.
Bill Katz: As far as I know, there's only been like a couple and I can't get my hands on it's like like Ken is saying he's absolutely right, but it's something to keep keep keep in mind.
Christian Tischer: May I ask, I mean like this notion that is all me Czar would be slow I don't know, I think it depends on the chunk size or so, if I mean if if I say one camera image is one chunk.
Christian Tischer: I mean I don't know how can I be any faster.
Josh Moore: yeah I mean I think if those are your streams if we get if if we give the end user, the right dimensions, so they can say so, the vendors, you know I have five streams here in my streams, you know.
Josh Moore: that's not going to be very usable, for I think most of us, so they will need to be a process in the middle, but I think.
Christian Tischer: Then you you I mean I think like depending on the access patterns right like there's anyway, no perfect changqing, but I think that can be tracking that's very good for superfast writing from a camera so I don't think it's.
Christian Tischer: The file format is file, for that would be my point.
Bill Katz: yeah and we're also seeing things with like, even the envy me s DS right the queue sizes are really large now you're able to get a lot of parallel rights, even for for small you know things I guess the real issue is.
Bill Katz: Also sequential versus random rights.
Bill Katz: At some point, it all gets abstracted to to the storage system that you're doing right the interfaces.
Bill Katz: But the.
Josh Moore: details are important.
Josh Moore: So i'm going to need a few minutes to screen share a few thoughts, so we didn't get into the depth on any of this but I don't want to let you leave without some people have already left does anyone else have any last thoughts comments questions wishes desires.
Josh Moore: Revelations.
Josh Moore: Seeing if there's anyone who we haven't heard from yet okay i'll do this quickly, and then we can all get out of here.
Josh Moore: I assume I have food somewhere waiting on me.
Josh Moore: Okay, so.
Josh Moore: This morning I posed this more as a question and kind of built it up and i'll just kind of say what we did what we talked through and there was a general consensus on so I guess i'm looking for vetoes, which is um.
Josh Moore: Today, what we've done largely all is post something on image sc when we're starting a new specification, and this is the one for labels, you know I posted something.
Josh Moore: I haven't had a ton of feedback on the last two specifications um the first one, there is a good deal of back and forth on the Multi scales, but then it's kind of tapered off.
Josh Moore: um and and keeping the github issues in sync with the image as C is kind of a pain actually you know so.
Josh Moore: um, so I think the breakdown is for everyone who's not doing implementations and really into the details, you know image sc is the Community.
Josh Moore: location to discuss all of this, it is you know it's a platform where anyone can ask a question um but, when it really comes to getting work done, I would propose that we all do, that via this n G F F repository.
Josh Moore: um, this is a github project board kind of like trial or whatever I don't know if everyone's used them before.
Josh Moore: it's based roughly on the github roadmap they've actually done quite a nice job of getting everything that they are working on as a project into one board separated, you know by date it goes.
Josh Moore: Then they do the the newer things are to the to the right, I think I didn't newer things to left, but whatever we can rearrange it um so that.
Josh Moore: The process would be and I will, after the meeting go through the notes and see anyone who was, who seemed to be interested in working on a specification the process would be set up a issue so create an issue on this end je FF repository.
Josh Moore: will get it on the roadmap whoever's running the specification will be responsible for the date so you know if you're driving it you're saying, I want to get this into the into the standard by.
Josh Moore: middle of the year end of the year um.
Josh Moore: Because will almost certainly have synchronization issues as more people start implementing things it'll get tricky that's a good that's a good problem to have and we'll need to come up with ways of discussing that I think there are two ways I can think of running those discussions.
Josh Moore: I mean, obviously we can keep talking on images see but, if we want more active.
Josh Moore: Low Level Technical discussions it's either to turn on github discussions here or there is a.
Josh Moore: back door.
Josh Moore: Sorry, someone called it a speak easy proposal to use this julep i'll leave that to you, whether or not you want to get involved in.
Josh Moore: dark corner back of the alleyway kind of discussions we'll see what happens, but likely will need a good place that we can chat it up these things that's coming need to figure it out um.
Josh Moore: Something else that will need managing will be the various implementations so currently there's really no bar how many of the existing oh I means our implementations must must support.
Josh Moore: A specification before it can be merged right.
Josh Moore: um.
Josh Moore: We will probably put a test suite of some form in place and then define some of the test is optional, and some of them is required.
Josh Moore: But this will be something that, over time, we will need to get more serious about so that we know that we're not just making our lives absolutely miserable right so as people change different parts of the specifications what happens um.
Josh Moore: I think that's the fast fast break down, we have five minutes left so you would have any thoughts or questions on how that would work or anyone who's interested in doing it, and once more details.
Josh Moore: This morning was much more.
Josh Moore: Maybe I was, I was, I was not as tired, as I grab three or four people I was really excited oh how people are actually going to do this, one issue got created so.
Josh Moore: Okay, I will, I will make sure that issues get created that we've talked about.
Josh Moore: i'll try to find me so anyone who's kind of talked about something I will probably see see their name and if you'd like to take one you know just say the word and.
Josh Moore: yeah it's really a process of finding and that's what I kind of tried to do throughout this meeting for any given topic find the examples that are out there.
Josh Moore: You know, basically way the the various costs and benefits.
Josh Moore: Help the Community to make a decision, and then get into the spec i'm not too bad and then I i'm pretty sure i've had a good.
Josh Moore: Good response from each of the implementation maintainer is to implement the spec so.
Josh Moore: This isn't about whoever comes up with a specification must write all of the implementations you have people like Trevor who's left so i'm going to you know say he'll do some of this work um.
Josh Moore: You know, certainly, the only team on the army's our pie repository the Java implementations will get the implementations done, but we need more people driving these conversations so everyone's obviously welcome have a thought, if you, you know, want to do.
Josh Moore: These blind warps or whatnot you know how about it.
Josh Moore: cool anyone else have any final thoughts.
Davis Bennett: Thank you.
Josh Moore: Always gladly.
Josh Moore: All right, take care, everyone have a good night night or day.
Christian Tischer: Thank you.
Volker Hilsenstein: Thanks.
Take care.