Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)QZ
QZM @lemmy.world
Posts 9
Comments 22
He did though.
  • If you publish in a journal that has closed access, there is generally no fee to publish.

    What field are you in? In the life sciences, there's normally a fee to publish closed-access and a higher one for open-access. My last paper was open access and costed about 3500, compared to 1500 pay walled.

  • What are the best tools for debugging ImageJ Javascript macros?
  • Wish I could help, but my knowledge is negligible in this regard. However, I believe your question came up before on image.sc. Some people seem to be using NetBeans for debugging?

    For example here and maybe here.

    Perhaps @[email protected] can help? If not, you could try posting on image.sc?

  • Image Processing and Analysis @lemmy.world QZM @lemmy.world

    Anybody know of a way to undo all transformations on QuPath?

    I don't really use QuPath, I don't like it. But the person before me used it to annotate images and now I need to transfer these ROIs/Annotations to ImageJ where my pipeline is. Managed to find a good script for exporting with annotations, but it seems this person transformed the images (differently each time fml), and I need them to be the right orientation because I'm transferring those annotations to another set of images of the same samples from another microscope. Needless to say, I need to do some image registration, a very easy task /s. So is there any way to at least revert back to the initial orientation before export so I make the registration easier? I'm using SIFT which isn't really capable of accounting for mirroring/flipping, so that step really needs to be fixed beforehand. Any ideas? Or at the very least, is there a way to extract transformation history from the Metadata or so such that I can at least use that info to programmatically revert in ImageJ?

    0
    Can't even afford a hut on chicken legs on a single income anymore
  • Mate... I'm not saying you're wrong, but if I don't see the paper for myself, I'm inclined to be critical of your summary of it. I don't disagree that it is plausible conservatives indeed are more wealthy, but you have too many assumptions in your comment for any proper conclusion to be taken.

    And the idea about altruism isn't really mine, it's a very very old and still existing idea in philosophy. Of course it has proponents and opponents, but it hasn't really been rejected to a degree sufficient to dismiss it, it just remains like pretty much all philosophical concepts, debated. So claiming it is false is a bit arrogant, especially without a proper argument. It would be like claiming free will exists or doesn't exist with confidence (and this analogy is ironic because egoism is a significant part of the free will debate).

    And btw, before you think I'm defending conservatives, you should know I'm a scientist, so I am critical of anything and everything until I see the evidence, and even then, I am critical of the way the evidence was gathered and how it was interpreted. I'm not trying to be "pedantic," I'm trying to be accurate, because a minute twist on the truth makes it false.

  • Can't even afford a hut on chicken legs on a single income anymore
  • Potentially controversial comment:

    rich people with no morals live longer, because they’re entirely self interested, and being entirely self interested they can afford healthcare, thus living longer than non-conservatives on average.

    From a philosophical point of view, everyone with absolutely no exception is "self interested." I believe the idea you're talking about is whether bettering the lives of other has been incorporated in your identity at a young age making your self-interest ultimately beneficial for others. It's a complex topic, but the idea is that you don't really truly do anything for others, ever, but if someone convinced you that if you don't do good by others, then you should be ashamed or that if you do, you're a better person, then you do good for others for your own sake, to view yourself in a better light.

    I'm a bit confused about your comment though. Are you arguing that the study found that rich people skew the data because of their longer life? If so, I find that hard to believe given the proportion of "rich people," and the consequently negligible ability to statistically skew a population if it were actually randomly sampled.

  • What’s next for bioimage analysis? [Nature Methods]
  • I absolutely agree with you about HR writing the postings and the transient obsession with buzzwords. However, I think there's some hard truth to AI displacing classical image analysis approaches or limiting it to pre and post processing. There are many serious issues with AI (deep learning specifically) as an approach for sure, such as black box modeling which gets in the way of rational scientific inquiry, the need for very large data sets for proper convergence, and maybe even hallucination in advanced models. But these issues are a) possibly resolved within a few years with approaches like explainable AI and statistical sampling for the data size perhaps, and b) don't negate the advantages of simpler AI approaches.

    For example, I think supervised machine learning is incredibly useful for allowing complex tasks like segmenting weird objects (like glial cells) and there are even some well established deep learning models for segmenting such things too. So it can be very useful to employ such strategies for certain steps in a pipeline, but making the entire pipeline one giant model is very difficult and unreliable.

    Digital pathology is becoming a proper field very quickly, I just hope I can find a footing somewhere in it, because I found myself becoming extremely passionate about image analysis and my career future is looking a bit shakey.

  • What’s next for bioimage analysis? [Nature Methods]
  • It's becoming increasingly clear that image analysis is really heading for being a domain of artificial intelligence. It's a bit scary, because as a physiologist with no background in computer science, I find it very difficult to find positions in bio image analysis since most seem to ask for anything from advanced experience in supervised machine learning to full blown deep learning model development and spatial statistics. But it's a good thing for science, just not for amateurs who would like to build a career in the field like me..

  • Image Processing and Analysis — A community about all things related to digital images, from hobbyists, to microscopists, to researchers.

    This community was inspired by the subreddit ImageJ and of course image.sc. It's meant to be a hub to show and tell your pipelines and codes, ask questions about scripting and approaches in any image processing software, bring new ideas and cool tricks, discuss how the field is evolving from classical towards computer vision and machine learning approaches, and much more. We're still a small community, and we'd love to have you to grow and become a lively hub of discussion of this awesome field.

    3
    Have a long-running ImageJ macro and want to see its progress?
  • Another small note: You can also adjust this script to include time taken per image and in total. Just using the timestamp commands and some math at the end of the macro spit out in the a userprompt window :)

  • Image Processing and Analysis @lemmy.world QZM @lemmy.world

    Have a long-running ImageJ macro and want to see its progress?

    I came across a small script that opens a window with a progress bar that increases after the completion of every iteration in a for loop. It's pretty useful in a big macro cycling through many images. Sometimes you just want to know your progress in batch mode. So here is the helpful script (from https://imagej.nih.gov/ij/macros/ProgressBar.txt):

    ``` // Progress Bar // // This macro demonstrates how to display status // information and a progress bar in a text window. // It uses the Plugins>New>Text Window command // to open a text window without a menu bar.

    title = "[Progress]"; run("Text Window...", "name="+ title +" width=25 height=2 monospaced"); for (i=0; i<100; i++) { print(title, "\\Update:"+i+"/"+100+" ("+(i*100)/100+"%)\n"+getBar(i, 100)); wait(200); } print(title, "\\Close");

    function getBar(p1, p2) { n = 20; bar1 = "--------------------"; bar2 = "********************"; index = round(n*(p1/p2)); if (index<1) index = 1; if (index>n-1) index = n-1; return substring(bar2, 0, index) + substring(bar1, index+1, n); } ```

    Note: if you using other nested for loops, ensure that the variable you choose isn't the same as the one here (i), except of course the for loop you're actually trying to find track the process of. Happy macroing!

    5

    Apparently it's Prime Deal Day or something in Amazon, if anyone is considering buying a new laptop

    I had just bought the Zephyrus M16 for 2700 bucks. But for some reason it didn't get dispatched yet, so I just noticed they have this prime deal day thing on Amazon(.de, the German one, not sure about other Amazons) where I got it. It's now 2080 bucks (wtf!). So I cancelled my order and ordered again. Just an FYI, good time to buy I guess, lots of other laptops are on huge discounts with prime (I just got a trial, I'll unsubscribe later lol).

    2
    Plugin for Coords of nearest neighbor in ImageJ?
  • Okay, so I solved the issue for anyone curious. The improvement is a 59% faster computation, so days/over a week saved in terms of the big picture.

    The new approach: I simply create a Euclidean distance map where each non zero pixel is now value-encoded with it's distance from my coords. I do that with just two ramps, the Euclidean distance equation, and image arithmetic. And then simply threshold the image after getting min and max. Of course a few things to resolve equidistant pixels and such, but all good.

  • Image Processing and Analysis @lemmy.world QZM @lemmy.world

    Plugin for Coords of nearest neighbor in ImageJ?

    First of all, I am so happy that we're getting more and more members. Thank you all for joining!

    I'm going to post the first question on here. Ideally, we should always try to post example images when asking a question, but I'm hypocritically not doing it mainly because I think it's a straightforward question.

    I'm trying to do some analysis on histology images using ImageJ macro scripting (IJM language), and at some point in the script I have the coordinates of an approximate center of a cell, derived from it's cell body center of mass. However, my downstream quantification requires that I skeletonize. But now the coords may or may not fall on the 1-pixel wide skeleton. I need it to fall on it for subsequent analysis, so I want to find the nearest non-zero pixel to these coords on the skeleton image.

    I did come up with an approach, and the script is enclosed below. But.. it's a bit slow, and it needs to be much faster because the script is gigantic.

    The approach simply makes a circle centered on the coords I have, and the circle is only 10 pixels in radius, because it appears that's enough to capture the skeleton's nearest white pixel in all cases. Then I iterate through every pixel in this circular ROI computing its euclidean distance from my coords only if it's non-zero (white).

    Question: So you see how it's not a quick approach, and if there is a plugin to do this instead, it would be so much faster because it's skipping the wrapping. For context, this is part of a nested for loop for many many objects in many many regions in hundreds of images.

    Here is the code: // Making a circular 10-px radius ROI centered on coords makeEllipse(CoordX-10, CoordY, CoordX+10, CoordY, 1); Roi.getContainedPoints(containedX, containedY); // Iterating through all pixels contained in the search circle // Euclidean distance is calculated for non-zero pixels and tabulated Table.create("Non-Zero Contained Pixels"); for (p = 0; p < containedX.length; p++) { value = getPixel(containedX[p], containedY[p]); selectWindow("Non-Zero Contained Pixels"); // Keeping indexing for the table independent of the loop as many pixels will be skipped outOfLoopSize = Table.size; if (value == 255) { distance = sqrt(pow(containedX[p]-CoordX, 2)+pow(containedY[p]-CoordY, 2)); Table.set("CoordIndex", outOfLoopSize, p); Table.set("Distance", outOfLoopSize, distance);  } } selectWindow("Non-Zero Contained Pixels"); // Sorting by distance and setting new coordinates Table.sort("Distance"); Table.update; nearestNeighbor = Table.get("CoordIndex", 0); // Setting the new seed pixel for downstream quantification seedX = containedX[nearestNeighbor]; seedY = containedY[nearestNeighbor]; close("Non-Zero Contained Pixels"); // Add computed seed for Sholl analysis // i refers to a much larger for loop, just writing this for contextual information for this script excerpt selectWindow("Skeleton" + i); run("Select None"); Overlay.clear updateDisplay(); makePoint(seedX, seedY, "small yellow hybrid"); Thanks a lot! And keep spreading the word :D

    1
    Just pulled the trigger on the Zephyrus M16, I sincerely hope I didn't make a mistake.
  • Oh wow thank you for the detailed response! Yeah the memory thing bugged me a lot, a newer version with the 4070 goes up to 64 GB max, while this one is capped to 48. But that one, despite being the same price, is not available for installment payment on Amazon, and my broke ass can't afford to pay it all at once. Otherwise, the other things seem okay. I didn't know about the GPU being held back, but I hope that's not too much of reduction in its computing power.

  • A Scientific Breakthrough in Noise Reduction
  • That last neighbor bit.

    Editor: remember, you need to have a statement about negatives or limitations, can't have only positives.

    Writer: uhh you got it, boss, I'm sure I can think of something.

  • Just pulled the trigger on the Zephyrus M16, I sincerely hope I didn't make a mistake.

    I had a normal ThinkPad T590, for work. But I recently dropped it and the screen is busted, thought it's better I buy something new than pay to repair. Since I'm already knees deep in image analysis, which requires a crap ton of RAM, a strong CPU and ideally a semi decent GPU, and just started getting into python coding, thought why not get a gaming laptop, it'll make my life easier. Of course I already have access to a beast of a workstation, but sometimes it's booked and you wanna do some work on your own laptop. Anyway, I saw the Zephyrus and thought it looks good, excellent RAM (32GB and can be upgraded to 48), excellent i9 (12900H), and of course the beloved 3080 Ti (and 2TB of SSD is greet for when I have to work because single images can be up to 4 GB sometimes).

    What do you guys think? I'm fkn poor, I'm a researcher afterall, so I got this on installments from Amazon, please tell me I didn't do an impulsive purchase.

    4
    Haven't forgotten about this community
  • Wow, thank you so much for the advice! Means a lot that :) and thank you for the pin!

    I will adjust the description to welcome a more broad audience and see what I can do about the other pointers. Still trying to get the hang of how Lemmy works lol.

  • Image Processing and Analysis @lemmy.world QZM @lemmy.world

    Haven't forgotten about this community

    I know I'm not posting anything, but I didn't abandon the place lol. I'm just waiting to have at least ten or so members, because it's a problem-solution oriented community, so we need someone to come in and drop a problem so people can offer solutions. I'm very inexperienced in these things, so I have no idea how to promote this place to grow it, any ideas?

    3
    Let's do a reverse post. Have any physiology related questions?
  • Not my field, but I don't think it's even possible to really pinpoint "the" most recent evolutionary step, not to mention being able to define "step" in an incredibly slow variable with multiple layers of continuity (individual, population, and whole species levels).

    But I would say that it is very recent for sure, as lactase persistence is a trait that really only started (above "noise" level stochastic mutations in the population) when we started using dairy some 6000 years ago because of selection pressure.

  • Let's do a reverse post. Have any physiology related questions?

    I want this place to succeed and grow, so let's get active!

    7
    Image Processing and Analysis @lemmy.world QZM @lemmy.world

    Welcome to the community! (if you're reading this lol)

    Kinda sad, I'm the only one here lol. But given the beginning of the downfall of Reddit, I thought I'd migrate here and make a community about my interests. I hope whoever joins spreads the word and we can make this a lively, informative, and helpful community for all image analysts out there. I mostly work with FIJI (ImageJ) and ilastik, and I hope all the new joiners have other expertise that can diversify this community more and more.

    2