Method for co-registering axial and sagittal T2w scans

This issue aims to open a brief discussion about the type of registration method to be used for co-registering the axial and sagittal T2w scans as a prerequisite before training a multichannel model.
Motivation: Since a single contrast (sagittal T2w) is not enough for a good segmentation, adding targeted contextual information through the axial T2w might be helpful as it would omit the "non-lesion" hyperintense signals. Primarily inspired by this comment. Also, another quick note is that the axial T2*w is the ideal scan that could be used for co-registration with sagittal T2w, however, it is not present in the dataset. Therefore, the next immediate option is to co-register axial T2w and the sagittal T2w scans only.
There are two possible methods for co-registration - (1) A pipeline consisting of ANTs and sct_register_multimodal (used in preprocessing for ms-challenge-2021; see steps 3 and 5) , (2) A DL-based contrast agnostic multi-modal registration based on Synthmorph (currently being led by @EvanBeal). Any suggestions are welcomed on which method is preferable!
The goal after co-registration would be to create a multi-channel model, with each channel corresponding to the axial and the sagittal T2w scans (and possibly, the sagittal T1w in the future if the need arises).

i'd suggest testing both on a few datasets and then decide between 1 and 2.

Some preliminary results have been obtained using the DL-based registration method.
These results were obtained using the sagittal T2w scans as moving images and register them to the axial T2w scans (fixed images). After a discussion with @naga-karthik, it seems that it could be more interesting to do the opposite and use the sagittal T2w as fixed images as the ground truth is linked to the sagittal T2w scans, suggesting that the radiologists use those scans to label the lesions.
The two gifs show the registration of the sagittal T2w to the axial T2w for the session 1 of the sub-zh10. They are representative of the same results, the only difference being the order that the results are displayed:

One concern with the use of the DL-based registration method is that currently it includes a preprocessing step to resample the images to an isotropic 1 mm resolution before using them as input of the registration model. This is originally done to ensure to obtain good registration results with the models trained as they have been tested on data that were close to this isotropic 1 mm resolution. However, in this dataset, the actual resolution of the images is around ~0.5 x ~0.5 x ~4. Keeping this preprocessing step could cause some interpolation errors independent to the registration and create some strong blurring that may be difficult to interpret for the model. Therefore, changing the preprocessing of the images could be beneficial but the performance of the registration models is unknown for images with different resolution than the 1 mm isotropic one.
The next steps will be to use the sagittal T2w as fixed images and try different preprocessing to explore the different registration results obtained.

Some preliminary results have been obtained using the DL-based registration method.

Stunning 🤩. Results look very promising!
just a comment: i find it extremely difficult to navigate these animations (and it took me some time to understand these are actually the same-- by "the only difference being the order" I thought you meant that in one case the T2sag is the moving, and on the other case the T2*ax is the moving). Suggestions:

not display the T2sag in the background when you show the 'ax' image (otherwise it is extremely confusing).
only show one animation (the 2nd one is unnecessary).

After a discussion with @naga-karthik, it seems that it could be more interesting to do the opposite and use the sagittal T2w as fixed images as the ground truth is linked to the sagittal T2w scans, suggesting that the radiologists use those scans to label the lesions.

Good point indeed. On the other hand, the T2sag has more coverage than the T2*ax and we know (as a prior info from the MR tech) that the extra coverage of the T2sag does not include the pathological part to segment, so it could make it easier for the seg DL model to learn. In this case, it is trivial to simply apply the transformation to the GT as well (with trilinear interpolation).
That being said, the model might also be able to learn where the pathology is, given that the T2*ax scan is 'zeroed' everywhere outside of this pathological region (in the superior-inferior direction). Maybe both scenarios should be tried.

just a comment: i find it extremely difficult to navigate these animations (and it took me some time to understand these are actually the same-- by "the only difference being the order" I thought you meant that in one case the T2sag is the moving, and on the other case the T2*ax is the moving). Suggestions:

not display the T2sag in the background when you show the 'ax' image (otherwise it is extremely confusing).
only show one animation (the 2nd one is unnecessary).

Yes I understand and these are good suggestions thank you ! I didn't know how to present these results so I tried these two approaches but I agree that they are not really convincing. I will follow your suggestions for the coming results 👌

Good point indeed. On the other hand, the T2sag has more coverage than the T2*ax and we know (as a prior info from the MR tech) that the extra coverage of the T2sag does not include the pathological part to segment, so it could make it easier for the seg DL model to learn. In this case, it is trivial to simply apply the transformation to the GT as well (with trilinear interpolation).

Alright very interesting !

New registration results have been obtained with the DL-based registration method using the sagittal T2w scans as fixed images and the axial T2w scans as moving images.
These results were obtained using the "two steps" approach. Before registration, both the moving and fixed images have been resampled to an isotropic 1 mm resolution and the voxel values were scaled between 0 and 1 as preprocessing steps. For each pair of images, the warping field outputted by the registration model has been used with sct_apply_transfo to transform the moving volume and register it to the fixed one.
The registration has been done on the whole dataset and here are shown some results that should be representative of the dataset as examples from the different type of lesions observed in the dataset have been selected (following the categorization done by @naga-karthik in this presentation)
For each subject shown, the sagittal T2w scan and the axial T2w scan are displayed before registration (on top) and after registration (below).
Example of registration for subjects with "easy" (well-defined, circular-ish, dense) lesions:

sub-zh01_ses-01

sub-zh02_ses-01

Example of registration for subjects with large/diffuse lesions:

sub-zh10_ses-01

sub-zh21_ses-01

Example of registration for subjects with less hyper-tense signals:

sub-zh16_ses-01

sub-zh17_ses-01

Example of registration for subjects with dot-sized lesions:

sub-zh12_ses-01

sub-zh15_ses-01

Registration results - axial fixed & sagittal moving
Registration results for the DL-based registration method using this time the axial T2w scans as fixed images and the sagittal T2w scans as moving images.
Again, the results were obtained using the "two steps" approach. Before registration, both the moving and fixed images have been resampled to an isotropic 1 mm resolution and the voxel values were scaled between 0 and 1 as preprocessing steps. For each pair of images, the warping field outputted by the registration model has been used with sct_apply_transfo to transform the moving volume and register it to the fixed one.
For each subject shown, the axial T2w scan and the sagittal T2w scan are displayed before registration (on top) and after registration (below).
Example of registration for subjects with "easy" (well-defined, circular-ish, dense) lesions:

sub-zh01_ses-01

sub-zh02_ses-01

Example of registration for subjects with large/diffuse lesions:

sub-zh10_ses-01

sub-zh21_ses-01

Example of registration for subjects with less hyper-tense signals:

sub-zh16_ses-01

sub-zh17_ses-01

Example of registration for subjects with dot-sized lesions:

sub-zh12_ses-01

sub-zh15_ses-01

Some feedback. Regarding the "sagittal fixed & axial moving" scenario (https://github.com/ivadomed/model_seg_sci/issues/16#issuecomment-1040740731), there is a major issue, which is that the deformation has too many degrees of freedom and actually deform the internal structure of the spinal cord. Example for sub-zh01_ses-01:
before reg:

After reg:

Notice the shape of the lesion is slightly expanded in the 'reg' case. This is highly problematic, as it spuriously changes the characteristics of the pathology. This is definitely something we should avoid, at all cost.
The bottomline is that the two images have very different contrast properties, and the image information content is ill-defined along the SI direction (for the axial image) and along the RL direction (for the sagittal image). This 'lost' information generates weird and unpredictable behaviours for this registration method.
I would personally stay away from this DL-based registration in the context of this project, and instead use deformation methods with much lower degree of freedom (eg: slicereg, which are simple XY translations (ie no in-plane deformation) regularized along the SI axis).

Following the discussion above, here are a few preliminary results using sct_register_multimodal. A few important points - (i) before registering both the axial and sagittal images have been isotropically resampled to 1mm x 1mm x 1mm resolution, and (ii) a draft PR #17 has also been created for detailed information on which commands have been used and how the registration is done. Note that currently, the SC segmentation masks have also been used as the input for sct_register_multimodal.

 sub-zh02-ses01

 sub-zh06-ses01

 sub-zh11-ses01

 sub-zh14-ses01

Interpretation: I think that the registration has worked satisfactorily - there is a slight gap between the sagittal and the axial image (as if the axial image is slightly shifted when overlayed on top of the sagittal image), which is corrected after the registration.

a draft PR https://github.com/ivadomed/model_seg_sci/pull/17 has also been created for detailed information on which commands have been used

@naga-karthik a PR evolves (ie: multiple commits in one PR). Could you please instead link the commit hashtag that was used to generate these results?

@naga-karthik nice preliminary results. However be aware that the comparison in https://github.com/ivadomed/model_seg_sci/issues/16#issuecomment-1042376787 is misleading, because you are comparing registered axial images (which are 1mm iso) with non-registered axial images (which are non-isotropic). When images with different resolution are displayed on FSLeyes, there is a 'streaking' effect (we discussed it in one of our meeting), which gives the impression that there is a slight shift between the two overlaid images. This biased the visual assessment of registration quality. What you want to compare is the non-registered and the registered in the same space (ie: bring the non-registered image in the space of the destination image-- see https://github.com/ivadomed/model_seg_sci/pull/17/files#r808605182)

Thank you for the suggestions @jcohenadad! I have made some changes to the preprocessing pipeline (see file version 92c57b5ff4265a85ab86803b7e91faf0456cc3f2) and below is the comparison of the registration results. This time I have used the same subset as in @EvanBeal's comment above, so a direct comparison between DL-based and SCT-based methods is now possible.
How to interpret the gifs: First, the resampled sagittal T2w is seen, then the axial T2w is overlayed on the sagittal, and finally the registered axial T2w is shown. Notice a slight shift the registered axial T2w. Also, note that all images are ensured to lie in the same discrete space.

 sub-zh02_ses-01

 sub-zh10_ses-01

 sub-zh12_ses-01

 sub-zh16_ses-01

My bottomline: It appears that in cases the registration has indeed resulted in minor deformation - very minor in case of sub-zh12, sub-zh02 and relatively noticeable in sub-zh10, sub-zh16. Also, currently, the following params are being used by sct_register_multimodal - step=1, type=seg, algo=slicereg , metric=MeanSquares, smooth=3. I am curious as to how the metric=CC will work since it is mentioned in the docs that it can be used for images with same contrast.

looks promising! i've added a few comments:

https://github.com/ivadomed/model_seg_sci/commit/92c57b5ff4265a85ab86803b7e91faf0456cc3f2#r66991263
https://github.com/ivadomed/model_seg_sci/commit/92c57b5ff4265a85ab86803b7e91faf0456cc3f2#r66991407

So I have made some changes based on the comments and shown below are the results. The how-to of interpreting them remains the same as in the previous comment. Here are the main changes:

I felt that the isotropic 1mm x 1mm x 1mm was making it too blurry in the sagittal T2w and the axial T2w (where the native resolution is ~0.5 mm x ~0.5mm, hence I modified the resampling factor as isotropic 0.75 mm x 0.75 mm x 0.75 mm. The images are relatively better in terms of visualization
Following this suggestion - the registration has now been done after cropping. An immediate benefit of this was that the registration deformation could be easily seen without having to zoom in/out too much.

 sub-zh01_ses-01

 sub-zh02_ses-01

For these subjects, the images as-they-are appear to be nearly registered, so explicitly registering them hasn't shifted much.

 sub-zh10_ses-01

For this subject, I believe that the registration actually worsened it. There is a noticeable shift in the registered ax and the sag image. The original ax and sag images were in fact decently aligned.

 sub-zh16_ses-01

For this subject, we can see that the registration helped. The overlap between the registered ax and the sag images is almost full indicating a good registration.

Final thoughts: It has been difficult to understand whether the registration was good or bad - in some cases, the deformation is pretty small because the images were already well-aligned, and in others, there is a noticeable shift. However, in my opinion, the current results are not satisfactory (to me) and I am wondering whether tweaking the registration parameters a bit more might (or might not) improve the results.

Final thoughts: It has been difficult to understand whether the registration was good or bad - in some cases, the deformation is pretty small because the images were already well-aligned, and in others, there is a noticeable shift. However, in my opinion, the current results are not satisfactory (to me) and I am wondering whether tweaking the registration parameters a bit more might (or might not) improve the results.

Indeed, tweaking registration parameters might improve the results. A useful approach is to look at the subjects where registration didn't work (eg sub-zh10_ses-01) and understand why it didn't work. Start looking at the segmentation: is it accurate in both the axial and sagittal image? Then check the result of the registered segmentation (you could look at the temporary files from sct_register_multimodal with the flag -r 0, it is quite insightful). We could also have a 30min meeting where we can look at it.

I'd suggest doing the registration based on the image. Here is an example syntax:
sct_register_multimodal -i sub-zh16_ses-01_acq-ax_T2w.nii.gz -d sub-zh16_ses-01_acq-sag_T2w_r_crop.nii.gz -m sub-zh16_ses-01_acq-sag_T2w_r_seg_dil.nii.gz -param step=1,type=im,metric=CC,algo=slicereg,iter=30,poly=2,smooth=0 -qc qc -dseg sub-zh16_ses-01_acq-sag_T2w_r_seg.nii.gz -r 0

note: we need the -dseg only for the QC report (but you need the sag-T2w segmentation anyway for the cropping)

You could also add a step when you rigid-register the volume:
sct_register_multimodal -i sub-zh16_ses-01_acq-ax_T2w.nii.gz -d sub-zh16_ses-01_acq-sag_T2w_r_crop.nii.gz -param step=1,type=im,algo=rigid,deformation=1x1x1,iter=30,smooth=0:step=2,type=im,metric=CC,algo=slicereg,iter=30,poly=5,smooth=0 -qc qc -dseg sub-zh16_ses-01_acq-sag_T2w_r_seg.nii.gz -r 0

although this is not recommended given the thick axial sliced (interpolation errors)

I am observing some noticeable differences w.r.t on comparing the segmentation-based and image-based (following this comment but without the mask) in terms of the quality of registration. My next question is - When is it better to use the image-based method and when is it better for the seg-based method for SC registration? I am wondering whether we should usually go for image-based registration (7/10 times) because - seg-based reg might not be robust if we depend on segmentation from multiple contrasts (assuming that we don't have GT SC masks), and moreover, it is difficult to get GT SC masks for every time.
That said, one of the cons of the image-based reg would be that there would no proper constraint on the boundary under consideration ie if the anterior spine is static and the SC itself is relatively shifted (because of its very structure), then image-based reg would not be optimal. Whereas having an SC mask as a reference would help in this case.
Is there anything more that I should be knowing (am I missing something)?

I am observing some noticeable differences w.r.t on comparing the segmentation-based and image-based (following https://github.com/ivadomed/model_seg_sci/issues/16#issuecomment-1047068796 comment but without the mask) in terms of the quality of registration. My next question is - When is it better to use the image-based method and when is it better for the seg-based method for SC registration? I am wondering whether we should usually go for image-based registration (7/10 times) because - seg-based reg might not be robust if we depend on segmentation from multiple contrasts (assuming that we don't have GT SC masks), and moreover, it is difficult to get GT SC masks for every time.

i agree with this analysis. Requiring the segmentation for the axial image is a big constraint (it ads on the QC, manual correction, etc.). So if the image-based is reasonably good, then let's stick to it.

That said, one of the cons of the image-based reg would be that there would no proper constraint on the boundary under consideration ie if the anterior spine is static and the SC itself is relatively shifted (because of its very structure), then image-based reg would not be optimal. Whereas having an SC mask as a reference would help in this case.

I'm not sure I understand this explanation. Maybe a drawing would help me understand?

Sure, it is a bit difficult to exactly show it, but I'll try. Consider the gif below that shows the overlay of the sagittal T2w and axial T2w registered. Observing, in particular, the axial view only (i.e. middle). We can see that the SC has been registered properly, but if we look closely near the Anterior direction, there is still some minute shift between the images. Note that this is definitely better than the un-registered axial T2w image, but, it is this problem that I was talking about above as a "con" in my previous comment. If we instead had an SC mask, this (minor) shift could've been avoided.

 sub-zh16_ses01 shift

Also, based on this comment, I ran the image-based reg pipeline for all subjects (without mask) and the qc report for the same can be found here. I think the registration is mostly good this time, definitely better compared to the segmentation-based registration!

i see. Honestly I think this misregistration is minor and you can move forward with the training. Good job registering this dataset, that was a challenging one!

Closing this as we're currently only using single contrast acq-sag_T2w and want to move away from registration of ax and sag images as a preprocessing step.


Update HotChocolate to 13.0.0-preview.95

HotChocolate 13 preview 91 broke this library, due to changes with type interceptors. The extension methods on IRequestExecutorBuilder seem to have been removed, and there doesn't appear to be a DelegateSchemaInterceptor anymore.
I've replaced the static interceptor methods with a class extending TypeInterceptor.

Is the ValidationDefaults stuff correct?
I had to comment-out the Fairybread code in the benchmarks – how should that be handled?

@glen-84 Thank you for this fix, i will release new version soon


Document Redirect sensitive prop.

I checked the docs for the other pull-request and noticed that sensitive was absent.

Thanks!


Is [Singleton] attribute supported?

Now, when version 1.0.0 is out, i've started trying to port some our functions. Stumbled upon this attribute on some of the functions. Is it expected to work?

Without this attribute, will a TimerTrigger that is ran under a multi-instance function app still only kick off once? We don't want our timers firing twice (we run our function app with 2 instances in prod)
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer?tabs=csharp#scale-out

Good question, @jsheetzati.
The TimerTrigger is still a Singleton in multi-instance scenarios. This is because the TimerTrigger created by the Functions host is still a Singleton. The worker versions of the attributes (those that start with Microsoft.Azure.Functions...) are used to generate the metadata files that the host then uses to create the actual triggers. This is similar to how other out-of-proc languages work.
The lack of [Singleton] means that you cannot declare that one of your (for example) [QueueTrigger] functions is a singleton. But the triggers that already declare themselves as Singleton remain Singleton without any changes.
Just as a side note -- to enable [Singleton] for .NET out-of-proc would likely mean coming up with the correct metadata definitions so that all out-of-proc languages can support this. This work may be moved into the Functions Host repo when we add it to a Sprint.

@brettsam What if we run a TimeTrigger function manually? Is "Singleton" behavior guaranteed in that case?

@brettsam Yes, I mean "Test/Run". My understanding is that:

[Singleton] will prevent this manual task from running in parallel with some scheduled task that might be already running at the moment (and vice versa).
[TimeTrigger] will only work as [Singleton] for scheduled runs, but not for manual ones.
Am I correct?

@brettsam Any news on this?
My team made use of the singleton attribute, and it not working in out-of-proc mode is what is holding us back from upgrading.

@brettsam, could you share some updates, especially with more people running into the same issue (#735, #1756)?

Any plan or roadmap on this imho essential feature? I did not find anything like a detailed overview of the missing features and when they are aprox planned. Everywhere is suggested to migrate and move to isolated worker. But this is not possible without this attribute. So currently the only option is to refactor all projects and dependencies to use .net 6 and remove all c# 11 features (required init) etc. and use in-proc. I do not want to sound rude or bring bad taste in here, i just need anything to at least plan with this blocker, that would be great! - Thanks a lot

@fabiocav, would it be possible to provide some insights into the plan for those requiring single execution? Thank you.

@essmd I wouldn't hold my breath.
I've managed to do a local work around here, and it could potentially be expanded to work in a distributed manner if you write the mutex around blob/table storage instead of a SemaphoreSlim.

@BenjaBobs Thanks, i tested this and it works very well. Unfortunately i need distributed locking and also the support for the parameter binding. Highly appreciate your work as it helped me to get started! I could refactor your implementation a bit and working on those additional features. If i get something working, i will try to get a pull request ready for this repo. Maybe we can get this feature back a bit earlier this way :)

@fabiocav @jeffhollan Are there any plans to include something like the singleton attribute for the isolated model. At the moment this is the only issue holding us back from moving forward to NET8 and isolated functions.

Any updates here? We heavily rely on singletons and its holding up a large portion of our .NET 8 migration.

Is [Singleton] referencing using Microsoft.Azure.WebJobs in a Microsoft.Azure.Functions.Worker function working ? Just as workaround

Just came across this roadmap update for .NET. The good news is that they are working on adding support for the in-process model with .NET 8. So once that is released, we can at least upgrade to .NET 8 and keep using the singletons for a few more years. Hopefully singleton support will be added to the isolated model at a later time.
https://techcommunity.microsoft.com/t5/apps-on-azure-blog/net-on-azure-functions-march-2024-roadmap-update/ba-p/4097744

This is a serious blocker for clients with ASB triggers when migrating off In-Process SDK.
Workarounds are not helpful as they worsen the situation.

Hi all - the Singleton attribute also has mixed results in in-proc. Here's a host issue in which some of those challenges are captured: https://github.com/Azure/azure-functions-host/issues/912
In general, the singleton attribute as it exists in in-proc is just taking a distributed lock over some scope, applied to the triggering logic (specifically pre-dispatch), using blobs in AzureWebJobsStorage to do it. This means that other lifecycle considerations, such as service-specific state management or full handling of batches themselves are not presently incorporated. Those may not impact all scenarios, but they are a barrier to formalizing broader support for that even within in-proc; the feature is in an odd support state there, and we need to revisit that more holistically. But, for those that have not been impacted by those limitations, an answer is still needed. Right now, without a full feature, you can drive singleton behavior of your function processing logic - this is not the same as driving the trigger itself - using either:

A function middleware that similarly takes a lock against storage for a given scope
Stateful entities in Durable Functions to get similar lock processing

As noted both here and also in the thread Sean linked, these solutions would be after the trigger has occurred, which is a key difference from the in-process model. We need an answer that governs the trigger itself. We're absolutely in agreement on that as a requirement.
As I write this, we're still discussing a few specifics to lock in our plan. Enabling the existing scope would be upleveling the support for the core singleton behavior that we know has problems. While a broader redesign around that would be nice, that's going to take more time and frankly isn't on the table as an answer to the current need. But we are still trying to figure out the right way to enable the existing behavior with an eye toward being able to fix that that at a later date. This is just a bit of detail work, and I'm hoping we can close that out soon and then knock this item out. We'll share the plan here once locked.
It would be helpful to get a few additional specifics around scenarios here, just so we can make sure they're properly accounted for in validation, etc. ServiceBusTrigger is clearly top of mind, and the pattern that works best in the in-process model would be with the function receiving a full batch or with the batch configured to have one message (so the function can just be given that one message).

Hi @mattchenderson, I have a specific scenario which might help explain the need for singleton. I have a number of function apps which have fanned out to run micro batch processing on multiple shaker or instances, however I need to fan these back in and report status to a transactional source (SQL DB, snowflake etc) we don't want this happening on multiple instances, and the persistence source is also quite slow, so an efficient singular report/status process is required.
Code has previous used SingletonMode.Listener on dotnet 6 inproc function apps. The upgrade to dotnet 8 is presenting this challenge. We are currently considering moving to a whole additional function app with constrained scale out and message handling, but that feels pretty compromised.
Would be very glad to hear dev moving forward on this.

[@mattchenderson] We use the singleton attribute also for batch processing where we need to add some delay between the message handling. One of the receiving systems doesn't allow to much calls within a short period of time. So handling 1 by 1 guaranteed the amount off calls is within the limit each minute.
We can't use scheduled messages for this. Because when one of the remote systems is down we need to wait till the other system is online again. In that case we pause the handling by disable the function and we pickup 1 by 1 after it switch online again.

This is a pretty big gap IMO.  My case is ServiceBusTrigger functions, to serialize execution, to avoid data concurrency issues.  The actual trigger supports own concurrency via maxConcurrent calls but that applies to the entire function app(via host.json), where in my case I want to apply to individual functions within an app.  Ideally it should also support scopeId like in process model.

@mattchenderson, would also like to say that we make heavy use of singleton.
Our use case is that when Service A successfully sends, it triggers a retry of any failed messages via event grid. The retry pulls all messages from a blob and then puts them back into the service bus, so singleton is perfect as the recovery function needs to first read all the failed messages from a blob, put them into a service bus and delete them from the blob without other instances of this function running at the same time. Otherwise we have race conditions, duplicates and potentially a death loop without other workarounds.
We could fix this in other ways but singleton provides a really nice solution. Good to see there might be some progress on this, would you have an idea of a timeline? Cheers!

We also use the singleton attribute. The lack of support is currently blocking us from upgrading to NET 8. An ETA would be appreciated.
I see that in-proc support for NET 8 has recently been added so it looks like it might not be far away?
https://github.com/Azure/azure-functions-host/issues/9951

I have a slightly different use case.  In a multi tenanted application, we have the need for a single instance of an azure storage queue triggered function, per tenant. While its possible to perform something similar with Durable Functions, there is a lot that needs to be reworked in order to do so.
Example
[Singleton(Mode = SingletonMode.Function, Scope = "tenant:{tenantId}")]

We also use the singleton attribute. The lack of support is currently blocking us from upgrading to NET 8. An ETA would be appreciated.
I see that in-proc support for NET 8 has recently been added so it looks like it might not be far away?
Azure/azure-functions-host#9951

same here! Please give an ETA.

i wanted to note that we are also blocked from moving to .NET 8 isolated, since we heavily rely on Singleton locking mechanism.  whats the ETA on that being supported?  Also does anyone have any valid proven out workarounds for this?

i wanted to note that we are also blocked from moving to .NET 8 isolated, since we heavily rely on Singleton locking mechanism. whats the ETA on that being supported? Also does anyone have any valid proven out workarounds for this?

Basically making your own distributed singleton lock with for example this https://github.com/fbeltrao/azfunctions-distributed-locking.

@jcageman won't work for message-based triggers.


Add check to clean command to remove cluster resources first.

Signed-off-by: echoboomer<EMAIL_ADDRESS>Addresses: https://github.com/kubefirst/kubefirst/issues/1248
Add a check to the clean command to advise a user to first run kubefirst cluster destroy if there are flags indicating resources have already been created. This could be automated, but I think it's important for the user to understand the implications before running.
Also changes the message in cmd/destroy.go returned from the viper.GetString("cloud") check to more plainly indicate that resources likely don't exist if you haven't already run init since there shouldn't be a scenario where the flag is something else or doesn't exist.

Understood if this isn't really the way we want to handle this, but in the interim, it provides the guard rails necessary to advise on the condition and prevent abandoned/orphaned resources.

@echoboomer thanks for opening this one! we're in the middle of some work that has a tight deadline for our conference monday through wednesday next week ill revisit this asap! feel free to hop in the community slack if you want to talk more about this between now and then
kubefirst.io/slack


Issue with Glossary URL

Hi,
I want to try your great work. However, the running code will throw an error based on the following line:
https://l8u0.c18.e2-1.dev/t-ragx-public/glossary
It cannot be found.
How to solve the issue?
Thanks a lot

Hi @misbullah, thanks for letting me know! (Sorry that I have missed this issue)
I moved the S3 provider to Backblaze and some of the urls were not updated. It should be working now. If there's other errors, please let me know
Cheers,


Create a data dump of everything (for ESS)

Includes deciding on a format, could even be a single large turtle file

Closing older issues that were created during the initial server planning process, but are not part of the current feature set.


How to install the libtvm.dll？

I cannot install successfully because
Traceback (most recent call last):
File "setup.py", line 28, in
LIB_PATH = libinfo'find_lib_path'
File "./tvm/_ffi/libinfo.py", line 85, in find_lib_path
str('\n'.join(lib_dll_path + runtime_dll_path)))
RuntimeError: Cannot find the files.
List of candidates:
C:\tvm-master\python\tvm\libtvm.dll
C:\tvm-master\build\libtvm.dll
C:\tvm-master\build\Release\libtvm.dll
C:\tvm-master\lib\libtvm.dll
C:\libtvm.dll
C:\tvm-master\python\tvm\tvm.dll
C:\tvm-master\build\tvm.dll
C:\tvm-master\build\Release\tvm.dll
C:\tvm-master\lib\tvm.dll
C:\tvm.dll
C:\tvm-master\python\tvm\libtvm_runtime.dll
C:\tvm-master\build\libtvm_runtime.dll
C:\tvm-master\build\Release\libtvm_runtime.dll
C:\tvm-master\lib\libtvm_runtime.dll
C:\libtvm_runtime.dll
C:\tvm-master\python\tvm\tvm_runtime.dll
C:\tvm-master\build\tvm_runtime.dll
C:\tvm-master\build\Release\tvm_runtime.dll
C:\tvm-master\lib\tvm_runtime.dll
C:\tvm_runtime.dll
I think it is due to fail to build the Shared Library, isnot it？
But how can I install the libtvm.dll?

You need to build libtvm.dll with CMake, see http://docs.tvmlang.org/how_to/install.html#building-on-windows

I had installed successfully,
C:\tvm-master\build>cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CONFIGURATION_TYPES="Release" ..
-- Build with RPC support...
-- Build with Graph runtime support...
-- Configuring done
-- Generating done
-- Build files have been written to: C:/tvm-master/build
But still
C:\tvm-master\python> python setup.py install --user
Traceback (most recent call last):
File "setup.py", line 28, in
LIB_PATH = libinfo'find_lib_path'
File "./tvm/_ffi/libinfo.py", line 85, in find_lib_path
str('\n'.join(lib_dll_path + runtime_dll_path)))
RuntimeError: Cannot find the files.
List of candidates:
C:\tvm-master\python\tvm\libtvm.dll
C:\tvm-master\build\libtvm.dll
C:\tvm-master\build\Release\libtvm.dll
C:\tvm-master\lib\libtvm.dll
C:\libtvm.dll
C:\tvm-master\python\tvm\tvm.dll
C:\tvm-master\build\tvm.dll
C:\tvm-master\build\Release\tvm.dll
C:\tvm-master\lib\tvm.dll
C:\tvm.dll
C:\tvm-master\python\tvm\libtvm_runtime.dll
C:\tvm-master\build\libtvm_runtime.dll
C:\tvm-master\build\Release\libtvm_runtime.dll
C:\tvm-master\lib\libtvm_runtime.dll
C:\libtvm_runtime.dll
C:\tvm-master\python\tvm\tvm_runtime.dll
C:\tvm-master\build\tvm_runtime.dll
C:\tvm-master\build\Release\tvm_runtime.dll
C:\tvm-master\lib\tvm_runtime.dll
C:\tvm_runtime.dll
What should I do?

Please double check if the file is already in the path listed in the candidate

After you build cmake in windows, you will need to open visual studio and compile that with VS

Yes, I cannot find these files listed. and what it compiling that with VS?
I had tried run the tvm.sln in the build folder by VS, But nothing changed.
I am so sorry about these stupid questions, Thank you for your patient reply so much.

YOu need to open the solution and do build in visual studio to create the dll

Thanks for your help,
I installed it successfully,


Spring ai support

This adds support for using the Spring AI project.

@LGDoor should this PR be closed?

Superceded by #17. Close this PR.


Enable tsconfig.json source mapping for debugging

Summary

Change tsconfig.json in order to enable source mapping. This change is necessary to attach a debugger, otherwise debugger wouldn't be able to match transpiled files with their originals.

Fix tab size in config file (4~>2).

For VSCode is necessary to add a .vscode/launch.json file but I don't include it in the PR (ignored by git) because there are people that do not use that editor but I can add it if you want.

Known Issues
N/A

Yeah, can I merge this PR and then create another for the README?

Done @mpicollo-wolox


Support v1 formatting in VS LSP

Fixes https://github.com/dotnet/aspnetcore/issues/20159

Unlike VSCode, VS does not call rangeFormatting in the absence of a formatting handler. So created a separate entry point for formatting requests.
Added a handler on the client that receives rangeFormatting requests from the Razor language server and invokes formatting on the appropriate virtual buffer
Updated the razor text buffer initialization to include setting formatting options which are extracted from Html settings
Added some convenience extension methods
Updated tests

Future work:

Add a way to enable/disable razor formatting in VS
Update formatting options when the user changes it on the UI (Right now you have to close and re-open the file)

Looks great! 🥇


mate: 1.20 -> 1.22

Motivation for this change
Update the MATE Desktop Environment to version 1.22.
MATE 1.22 released
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Currently kio-extras fails to build on master (https://hydra.nixos.org/job/nixpkgs/trunk/kdeApplications.kio-extras.x86_64-linux), and services.xserver.desktopEnvironment.mate.enable depends on it, so trying to test it with this option enabled fails. Would be a good idea to fix kio-extras.

Currently kio-extras fails to build on master (https://hydra.nixos.org/job/nixpkgs/trunk/kdeApplications.kio-extras.x86_64-linux), and services.xserver.desktopEnvironment.mate.enable depends on it, so trying to test it with this option enabled fails. Would be a good idea to fix kio-extras.

I am not seeing how MATE depends on kio-extras. What depends on it seems to be plasma5.

Oh, I'm stupid, I used the demo.nix profile, which apparently sets plasma5.enable = true. Sorry! I'll try again without this.


Default image used in the Events section of Landing page should be of higher quality and more relevant

@duttakapil  For this issue, we are showing upcoming meetup when there is one available if not fall backing to image. So can you discuss with @saiabhijitht and come up with a higher quality and more relevant image as you said.

Yes. @saiabhijitht will need to work on this


Huawei

http://example.com

Hey @JanHadari, can you describe the issue you're having with Live Share?


Add persistent volumes for the various pods

Prometheus
es-monitor-api
alertmanager

I'll look into es-grafana, but for next time I think it's okay to approve a PR if it's missing functionality. That can be added into another PR. I'd rather merge often than postpone for more functionality.

I don't think it's a productive debate, XFS vs ext4, so I'll just remove XFS in the interest of moving forward.


Adding password not working.

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug

Once we add --password to the string the certificate is not created, there is no error messages in the Key Vault logs.
To Reproduce
 Run the bellow without the --password you will see the certificate gets created.  Once you add the --password field back on the certificate does not get created and there are no error messages in the logs.
az ad sp credential reset --name
[--append]
[--cert]
[--create-cert]
[--credential-description]
[--end-date]
[--keyvault]
[--password]
[--years]
Expected behavior

I would expect to see a Certificate be created in Azure KV just as you would with the manual creation.
Environment summary

Install method using CLI
Additional context

When creating a Certificate manually this does not call for a password to be created.

Graph


Support for aspen ad-hoc remote dev envs

Description
This adds the Happy CLI and associated Terraform code to support launching ad-hoc remote dev environments.
The Batch / Lambda / Step functions containers and terraform code are stubs, pending future work to improve them, but the frontend and backend services are working properly.
The major application changes introduced by this PR (and highlighted in the diff below) are:

Adds a 'run-db-migrations' make target (and associated db cli code) to the backend container to support creating a new dev database when engineers create new stacks. This command also supports downloading an SQL file from S3 and importing it.
Adds a 'drop-db' make target to the backend container to support cleaning up stacks on deletion.
Adds a simple healthcheck endpoint that load balancers can use to determine whether our service is healthy
DB URI can be generated from an AWS secret value & env var (if set)
Auth0 callback url can be set by env vars
Install 'serve' in the frontend container to serve the frontend without dev flags enabled.

There's also some lame hacking around sqlalchemy_utils not quite supporting sqlalchemy 1.4 yet.
The bulk of this PR is terraform code to support deploying aspen on ECS.
Issue
ch<fill_in_issue_number>
Test plan
Write how your changes are tested, or give a convincing reason why they can't be tested automatically.

i think what would make these new cli commands more explicit would be to maybe add a remote prefix to all cli commands that are responsible for acting on the remote db only.

or adding a subparser for remote and local cli

this looks good to me @ttung do you have any additional comments before merging this?


Rebuild ImportContacts

For closed areas: put the area id, area name, and date closed into a new sheet with a reasonable name.
Stick the configuration for the new sheet in with the rest of them in kic-config.ts


Reapply diffs from two PRs

I may have mishandled (maybe via a wrong rebase) the commits in the PRs #17 and #18. I just reapplied @dotansimha patches here, so thanks to him!
Fixes #19

@martijnwalraven for some reasons I failed to include this in my last PR, can I merge it?

@rricard: Not sure what you want me to review? This looks ready to be merged.

@martijnwalraven just don't want to auto-merge myself without an external review!


play script fails to run

As mentioned here, the play script is currently not functional in the v2 branch. The error below occurs.
$ yarn play
yarn run v1.22.5
$ nodemon -e ts -w . -x ts-node src/playground.ts --project tsconfig.json
[nodemon] 2.0.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): *.*
[nodemon] watching extensions: ts
[nodemon] starting `ts-node src/playground.ts --project tsconfig.json`
sh: ts-node: command not found
[nodemon] failed to start process, "ts-node" exec not found
[nodemon] Error
    at Bus.<anonymous> (./zod/node_modules/nodemon/lib/nodemon.js:156:25)
    at Bus.emit (events.js:327:22)
    at ChildProcess.<anonymous> (./zod/node_modules/nodemon/lib/monitor/run.js:167:11)
    at ChildProcess.emit (events.js:315:20)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
✨  Done in 0.32s.

To resolve this, simply adding ts-node to the dev dependencies should be enough. Though, playground.ts also appears to not be in a stable state either. The error below occurs.
Error: You can't call .parse on a schema containing async transformations.

Perhaps also putting playground in a stable state as well may be good for new developers coming in and being able to test out the library right away. A decision here should probably be made on whether this ticket should encompass both issues before a PR is sent in, though 🙂

Should be stable now. I always try to delete the contents before pushing, guess I missed it this time 😬


[SWARM-1931] Making Ribbon demo test pass

Hi Ladislav, it is neater now. I agree that for a service with the static resources only doing some manual work to serve them does not look perfect :-), but I'd still rather show this JAX-RS code to the users then shipping the Undertow handler, often enough the JAX-RS application would cover the default URI space anyway (as it may do more than just serving the static content) so the default servlets/handlers can't see it

Looks better; it appears the old version of the plugin is loaded...

retest this please

Two linux builds passed, Win failed for non-test related reasons, I'll do one more retest by re-enabling ribbon-consul which I temp disabled

retest this please

Now all the builds are green


Add null check in getTypeNameFromField

Hi, thanks for making this library✌ I ran into this issue, and thought i would try to fix it.
Before this change if a field returned null the following error would be raised:

TypeError: Cannot use 'in' operator to search for '__typename' in null

The problem seems to be that typeof null is "object".

Pull Request Test Coverage Report for Build 50

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.016%

Totals

Change from base Build 49:
0.0%

Covered Lines:
175

Relevant Lines:
176

💛  - Coveralls

Pull Request Test Coverage Report for Build 50

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.016%

Totals

Change from base Build 49:
0.0%

Covered Lines:
175

Relevant Lines:
176

💛  - Coveralls


Login issues with tenants in 2.x - 3.2 migrated APIM

Description:
When trying to log in to publisher portal through a tenant user(even tenant admin) the following error is logged and the UI loading langs.
ERROR - WebAppAuthenticatorImpl You cannot access API as scope validation failed

At this time even the dev portal login fails.
However if we restart the server, and try to login to the dev portal first through an admin user, the login is successful and then the issue with publisher login is also resolved.
Steps to reproduce:

Migrate from 2.x to 3.2
Try to login to publisher portal with tenant admin

here the scope validation error occurs

Try to login to dev portal

UI hangs

Restart the serever
Try to login to dev portal through tenant admin

this is successful

Then try to login to publisher through tenant user/admin

this is also successful

Affected Product Version:
2.x to 3.2 Migrated latest APIM
Environment details (with versions):

OS:
Client:
Env (Docker/K8s):

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

Tenant login issue gets resolved after restarting the server, hence not a blocker for migration

Tried this in 2.5.0 to 3.2.0 migration, but this issue was not observed.

Fixed with https://github.com/wso2-extensions/apim-migration-resources/pull/46. Hence resolving.


raidboss: Amdapor Keep Boss1 callout fix

Sorry for the mess of the previous PR, git hard

Thank you!


Renamed private packages to avoid ambiguity with existing official packages. This should mitigate false positives during image scans.

This PR addresses the issue raised here: https://github.com/react-hook-form/resolvers/issues/423
This change was pretty minor but I did have a couple of questions:

Would you prefer if I changed the path for these dependencies as well? I decided against it because it might be a breaking change but I can update the PR with that if you'd like.
I get a warning about the new package names due to the double forward slashes (/) failing the regex. It doesn't have an impact since these are private packages but I wasn't sure if you would rather I use a different naming convention. Something like<EMAIL_ADDRESS>perhaps.

I can't test right now but I'm sure deep import like @hookform/resolvers/zod still work if we rename the package name

I can't test right now but I'm not sure deep import like @hookform/resolvers/zod still work if we rename the package name

I see, that's a valid concern. @Fallibilist any chance you can valid this above?

I ran a few tests and this seems to be fine. It looks like the path in exports is all that matters (in this case ./zod).
Here is how I tested.
I created a simple testing project which imported @hookform/resolvers from a local directory. It imported zod and ran simple schema validation.

This is successful.

Now if I rename the export "./zod" to "./zodbroken" it breaks

If I set the import to this value then it works again.

This was all conducted with the zod resolver's package name as "@hookform/resolvers/zod"
Here are those two files if you want to test yourself:
{   "name": "export-test",   "version": "1.0.0",   "description": "",   "main": "testExports.js",   "type": "module",   "scripts": {     "start": "node testExports.js",     "zod": "^3.11.6"   },   "dependencies": {     "@hookform/resolvers": "./resolvers"   } }
`import { zodResolver } from '@hookform/resolvers/zod';
import * as z from 'zod';
const schema = z.object({
name: z.string().min(1, { message: 'Required' }),
age: z.number().min(10),
});
console.log(await zodResolver(schema)({name: 'Name', age: 5}, {}, {}));
`

Thanks a ton for your contribution ! Looks good to me :)


did it work betwwen external imu and lidar?

i just want to make sure that does it work between external imu and lidar, which get transform between lidar and external imu?or it only get the transform between ouster's internal imu and lidar?

Yes. The repository was used to calibrate a setup described in this paper https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9591180

Yes. The repository was used to calibrate a setup described in this paper https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9591180

thanks


[OSS] Archive quickstarts-dashboard-library repo

https://github.com/newrelic/quickstarts-dashboard-library
Acceptance Criteria

[x] Validate if this is even in the opensource project list

this project is not listed on the OSS site

[ ] get admin access for developer enablement team
[x] update the readme to point users to I/O both internally and externally
[ ] shut down Gh pages site, by deleted the gh-pages branch.

waiting on repo acccess to make this change, I pinged the hero in #help-opensource

https://github.com/newrelic/quickstarts-dashboard-library/pull/64


[Bug] Linestack graphs do not align correctly on the yAxis if series > 1

Version
5.4
Link to Minimal Reproduction
https://echarts.apache.org/examples/en/editor.html?c=line-stack
Steps to Reproduce

How do you create the chart ?
In the official example - https://echarts.apache.org/examples/en/editor.html?c=line-stack , the Search Engine count is 1330 for Sat. But, if you check the y-Axis label, it corresponds to 2500.
So, the y-Axis and the points plotted in the graph are not aligned.

Any scenario where it matches the y-Axis label ?
Yes, if there is only 1 element in the series, for example - Search Engine only, then the y-Axis label and the y-Axis points on the graph match

Current Behavior
On selecting more than one legend in the line-stack, the y-Axis value does not match the y-Axis label.
This causes confusion to end-users who are looking at these graphs.
Expected Behavior
All the graphs should re-align when the y-Axis value changes.
Currently, the graph is not re-rendered. This leads to the graph showing a y-Axis value of 1330, but the corresponding value on y-Axis is 2500.
Environment
- OS: macOS Ventura
- Browser: Chrome
- Framework: React

Any additional comments?
No response

Stacked charts show values added vertically (or horizontally). Highest point of stacked line chart is the values sum.  Tooltip shows individual values for each line.
See #18618 for a better presentation.


TimesFM in Hugging Face is coming

Hi guys!
We Nutanix AI Team are working with @kashif@hugginface to make TimesFM PyTorch model part of Hugging Face!
It will integrate TimesFM to the broader LLM ecosystem, enabling everyone to directly use the existing libraries for fine tuning, deployment and more.
Please leave your review at our PR, and stay tuned!

Awesome! Do you have a rough idea of when it will be released/the pull request will be finished?
Very much looking forward to it!


Implement DCOM for ScanHost.ps1

[title]. Use DCOM instead of regular (modern) cimsessions, because DCOM hasn't failed me yet. But Cim sessions only work about 8% of the time.

Closed by #13


Add websocket transport

I believe websocket transport is already enabled by default, all we need is to add "/ip4/<IP_ADDRESS>/tcp/41505/ws" to the listening addresses.

Might be for another issue, but I'm thinking about using a connection multiplexing library for handling all our protocols (http, tcp, rpc, websocket) on 1 port.
It would make the codebase more cleaner : https://github.com/soheilhy/cmux

It would make the codebase more cleaner : https://github.com/soheilhy/cmux

Yeah that's not really related to this issue.

Closed by #148


callpeak: Error in py_module_import(module, convert = convert) :

I've encountered an error when running callpeak, both with my custom files and the example code included in the documentation:
Reprex
Code
eh <- ExperimentHub::ExperimentHub()
CHIP <- eh[["EH4558"]]
CTRL <- eh[["EH4563"]]
res <- callpeak(CHIP, CTRL, gsize = 5.2e7,
                cutoff_analysis = TRUE,
                outdir = tempdir(),
                name = "callpeak_narrow0")

Console output
+ '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/0/bin/conda' 'create' '--yes' '--prefix' '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/0.99.15/env_macs' 'python=3.8.13' '--quiet' '-c' 'conda-forge'
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/0.99.15/env_macs

  added / updated specs:
    - python=3.8.13

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    bzip2-1.0.8                |       h0d85af4_4         155 KB  conda-forge
    ca-certificates-2022.9.24  |       h033912b_0         150 KB  conda-forge
    libffi-3.4.2               |       h0d85af4_5          50 KB  conda-forge
    libsqlite-3.39.3           |       ha978bb4_0         871 KB  conda-forge
    libzlib-1.2.12             |       hfd90126_3          65 KB  conda-forge
    ncurses-6.3                |       h96cf925_1         915 KB  conda-forge
    openssl-3.0.5              |       hfd90126_2         2.5 MB  conda-forge
    pip-22.2.2                 |     pyhd8ed1ab_0         1.5 MB  conda-forge
    python-3.8.13              |h66c20e1_0_cpython        12.8 MB  conda-forge
    readline-8.1.2             |       h3899abd_0         266 KB  conda-forge
    setuptools-65.4.0          |     pyhd8ed1ab_0         731 KB  conda-forge
    sqlite-3.39.3              |       h9ae0607_0         875 KB  conda-forge
    tk-8.6.12                  |       h5dbffcc_0         3.4 MB  conda-forge
    wheel-0.37.1               |     pyhd8ed1ab_0          31 KB  conda-forge
    xz-5.2.6                   |       h775f41a_0         233 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        24.4 MB

The following NEW packages will be INSTALLED:

  bzip2              conda-forge/osx-64::bzip2-1.0.8-h0d85af4_4
  ca-certificates    conda-forge/osx-64::ca-certificates-2022.9.24-h033912b_0
  libffi             conda-forge/osx-64::libffi-3.4.2-h0d85af4_5
  libsqlite          conda-forge/osx-64::libsqlite-3.39.3-ha978bb4_0
  libzlib            conda-forge/osx-64::libzlib-1.2.12-hfd90126_3
  ncurses            conda-forge/osx-64::ncurses-6.3-h96cf925_1
  openssl            conda-forge/osx-64::openssl-3.0.5-hfd90126_2
  pip                conda-forge/noarch::pip-22.2.2-pyhd8ed1ab_0
  python             conda-forge/osx-64::python-3.8.13-h66c20e1_0_cpython
  readline           conda-forge/osx-64::readline-8.1.2-h3899abd_0
  setuptools         conda-forge/noarch::setuptools-65.4.0-pyhd8ed1ab_0
  sqlite             conda-forge/osx-64::sqlite-3.39.3-h9ae0607_0
  tk                 conda-forge/osx-64::tk-8.6.12-h5dbffcc_0
  wheel              conda-forge/noarch::wheel-0.37.1-pyhd8ed1ab_0
  xz                 conda-forge/osx-64::xz-5.2.6-h775f41a_0

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
+ '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/0/bin/conda' 'install' '--yes' '--prefix' '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/0.99.15/env_macs' 'python=3.8.13'
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

# All requested packages already installed.

==> WARNING: A newer version of conda exists. <==
  current version: 4.12.0
  latest version: 22.9.0

Please update conda by running

    $ conda update -n base -c defaults conda

+ '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/0/bin/conda' 'install' '--yes' '--prefix' '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/0.99.15/env_macs' '-c' 'conda-forge' 'python=3.8.13' 'numpy=1.17'
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/0.99.15/env_macs

  added / updated specs:
    - numpy=1.17
    - python=3.8.13

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    libblas-3.9.0              |16_osx64_openblas          13 KB  conda-forge
    libcblas-3.9.0             |16_osx64_openblas          13 KB  conda-forge
    libgfortran-5.0.0          |10_4_0_h97931a8_25         146 KB  conda-forge
    libgfortran5-11.3.0        |      h082f757_25         1.9 MB  conda-forge
    liblapack-3.9.0            |16_osx64_openblas          13 KB  conda-forge
    libopenblas-0.3.21         |openmp_h429af6e_3         9.6 MB  conda-forge
    llvm-openmp-14.0.4         |       ha654fa7_0         329 KB  conda-forge
    numpy-1.17.5               |   py38h6ced74f_1         5.0 MB  conda-forge
    python_abi-3.8             |           2_cp38           4 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        17.0 MB

The following NEW packages will be INSTALLED:

  libblas            conda-forge/osx-64::libblas-3.9.0-16_osx64_openblas
  libcblas           conda-forge/osx-64::libcblas-3.9.0-16_osx64_openblas
  libgfortran        conda-forge/osx-64::libgfortran-5.0.0-10_4_0_h97931a8_25
  libgfortran5       conda-forge/osx-64::libgfortran5-11.3.0-h082f757_25
  liblapack          conda-forge/osx-64::liblapack-3.9.0-16_osx64_openblas
  libopenblas        conda-forge/osx-64::libopenblas-0.3.21-openmp_h429af6e_3
  llvm-openmp        conda-forge/osx-64::llvm-openmp-14.0.4-ha654fa7_0
  numpy              conda-forge/osx-64::numpy-1.17.5-py38h6ced74f_1
  python_abi         conda-forge/osx-64::python_abi-3.8-2_cp38

Downloading and Extracting Packages
libgfortran5-11.3.0  | 1.9 MB    | ########## | 100%
libgfortran-5.0.0    | 146 KB    | ########## | 100%
libopenblas-0.3.21   | 9.6 MB    | ########## | 100%
libblas-3.9.0        | 13 KB     | ########## | 100%
numpy-1.17.5         | 5.0 MB    | ########## | 100%
llvm-openmp-14.0.4   | 329 KB    | ########## | 100%
python_abi-3.8       | 4 KB      | ########## | 100%
liblapack-3.9.0      | 13 KB     | ########## | 100%
libcblas-3.9.0       | 13 KB     | ########## | 100%
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done

==> WARNING: A newer version of conda exists. <==
  current version: 4.12.0
  latest version: 22.9.0

Please update conda by running

    $ conda update -n base -c defaults conda

Collecting macs3==3.0.0a6
  Using cached MACS3-3.0.0a6.tar.gz (606 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting cykhash>=1.0.2
  Using cached cykhash-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Requirement already satisfied: numpy>=1.17 in /Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/0.99.15/env_macs/lib/python3.8/site-packages (from macs3==3.0.0a6) (1.17.5)
Collecting Cython>=0.29
  Using cached Cython-0.29.32-py2.py3-none-any.whl (986 kB)
Building wheels for collected packages: macs3
  Building wheel for macs3 (pyproject.toml): started
  Building wheel for macs3 (pyproject.toml): still running...
  Building wheel for macs3 (pyproject.toml): finished with status 'done'
  Created wheel for macs3: filename=MACS3-3.0.0a6-cp38-cp38-macosx_10_9_x86_64.whl size=1853285 sha256=aadfab20998542cff254344b0efef4878c8aa63ea308f711570f8c3fec3659ae
  Stored in directory: /Users/schilder/Library/Caches/pip/wheels/95/4f/28/2ee87a153a82277a0adb1a1ab81ea9c97161e1f4eb1d9a0059
Successfully built macs3
Installing collected packages: cykhash, Cython, macs3
Successfully installed Cython-0.29.32 cykhash-2.0.0 macs3-3.0.0a6

Error
Error in py_module_import(module, convert = convert) :
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 80 from PyObject

Session info

```
R version 4.2.1 (2022-06-23)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Monterey 12.4
Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
other attached packages:
[1] MACSr_0.99.15    MACSdata_1.5.0   dplyr_1.0.10     TIPseeker_0.99.0
loaded via a namespace (and not attached):
[1] ica_1.0-3                               RcppRoll_0.3.0
[3] class_7.3-20                            Rsamtools_2.13.4
[5] lmtest_0.9-40                           rprojroot_2.0.3
[7] crayon_1.5.1                            spatstat.core_2.4-4
[9] MASS_7.3-58.1                           nlme_3.1-159
[11] impute_1.71.0                           basilisk_1.9.11
[13] GOSemSim_2.23.0                         rlang_1.0.6
[15] XVector_0.37.1                          ROCR_1.0-11
[17] readxl_1.4.1                            irlba_2.3.5
[19] filelock_1.0.2                          BiocParallel_1.31.12
[21] rjson_0.2.21                            bit64_4.0.5
[23] glue_1.6.2                              scKirby_0.1.0
[25] sctransform_0.3.5                       parallel_4.2.1
[27] spatstat.sparse_2.1-1                   AnnotationDbi_1.59.1
[29] BiocGenerics_0.43.4                     DOSE_3.23.2
[31] spatstat.geom_2.4-0                     tidyselect_1.1.2
[33] SummarizedExperiment_1.27.3             SeuratObject_4.1.2
[35] fitdistrplus_1.1-8                      XML_3.99-0.10
[37] tidyr_1.2.1                             zoo_1.8-11
[39] GenomicAlignments_1.33.1                xtable_1.8-4
[41] magrittr_2.0.3                          evaluate_0.16
[43] ggplot2_3.3.6                           cli_3.4.1
[45] zlibbioc_1.43.0                         rstudioapi_0.14
[47] miniUI_<IP_ADDRESS>                          sp_1.5-0
[49] rpart_4.1.16                            fastmatch_1.1-3
[51] treeio_1.21.2                           seqPattern_1.29.0
[53] EpiCompare_1.1.1                        shiny_1.7.2
[55] xfun_0.33                               ArchR_1.0.2
[57] cluster_2.1.4                           genomation_1.29.0
[59] caTools_1.18.2                          tidygraph_1.2.2
[61] KEGGREST_1.37.3                         tibble_3.1.8
[63] interactiveDisplayBase_1.35.0           expm_0.999-6
[65] ggrepel_0.9.1                           ape_5.6-2
[67] listenv_0.8.0                           xlsxjars_0.6.1
[69] Biostrings_2.65.6                       png_0.1-7
[71] future_1.28.0                           withr_2.5.0
[73] bitops_1.0-7                            ggforce_0.3.4
[75] aws.signature_0.6.0                     plyr_1.8.7
[77] cellranger_1.1.0                        e1071_1.7-11
[79] pillar_1.8.1                            gplots_3.1.3
[81] cachem_1.0.6                            GenomicFeatures_1.49.7
[83] vctrs_0.4.1                             ellipsis_0.3.2
[85] generics_0.1.3                          tools_4.2.1
[87] munsell_0.5.0                           tweenr_2.0.2
[89] fgsea_1.23.2                            aws.s3_0.3.21
[91] proxy_0.4-27                            DelayedArray_0.23.2
[93] fastmap_1.1.0                           compiler_4.2.1
[95] pkgload_1.3.0                           abind_1.4-5
[97] httpuv_1.6.6                            rtracklayer_1.57.0
[99] ExperimentHub_2.5.0                     TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2
[101] DescTools_0.99.46                       plotly_4.10.0
[103] rgeos_0.5-9                             rJava_1.0-6
[105] GenomeInfoDbData_1.2.8                  gridExtra_2.3
[107] lattice_0.20-45                         dir.expiry_1.5.1
[109] deldir_1.0-6                            utf8_1.2.2
[111] later_1.3.0                             BiocFileCache_2.5.0
[113] jsonlite_1.8.0                          scales_1.2.1
[115] gld_2.6.5                               tidytree_0.4.1
[117] pbapply_1.5-0                           genefilter_1.79.0
[119] lazyeval_0.2.2                          promises_<IP_ADDRESS>
[121] goftest_1.2-3                           spatstat.utils_2.3-1
[123] reticulate_1.26                         rmarkdown_2.16
[125] cowplot_1.1.1                           Rtsne_0.16
[127] BSgenome_1.65.2                         Biobase_2.57.1
[129] uwot_0.1.14                             igraph_1.3.5
[131] survival_3.4-0                          yaml_2.3.5
[133] plotrix_3.8-2                           htmltools_0.5.3
[135] memoise_2.0.1                           BiocIO_1.7.1
[137] Seurat_4.2.0                            locfit_1.5-9.6
[139] graphlayouts_0.8.1                      IRanges_2.31.2
[141] here_1.0.1                              viridisLite_0.4.1
[143] digest_0.6.29                           assertthat_0.2.1
[145] mime_0.12                               rappdirs_0.3.3
[147] RSQLite_2.2.17                          xlsx_0.6.5
[149] yulab.utils_0.0.5                       future.apply_1.9.1
[151] Exact_3.2                               data.table_1.14.2
[153] blob_1.2.3                              S4Vectors_0.35.4
[155] splines_4.2.1                           AnnotationHub_3.5.1
[157] RCurl_1.98-1.8                          hms_1.1.2
[159] colorspace_2.0-3                        BRGenomics_1.9.0
[161] base64enc_0.1-3                         BiocManager_1.30.18
[163] GenomicRanges_1.49.1                    aplot_0.1.7
[165] Signac_1.8.0                            Rcpp_1.0.9
[167] RANN_2.6.1                              mvtnorm_1.1-3
[169] enrichplot_1.17.2                       fansi_1.0.3
[171] tzdb_0.3.0                              parallelly_1.32.1
[173] ChIPseeker_1.33.2                       R6_2.5.1
[175] grid_4.2.1                              ggridges_0.5.4
[177] lifecycle_1.0.2                         rootSolve_<IP_ADDRESS>
[179] curl_4.3.2                              leiden_0.4.3
[181] DO.db_2.9                               Matrix_1.5-1
[183] qvalue_2.29.0                           RcppAnnoy_0.0.19
[185] RColorBrewer_1.1-3                      stringr_1.4.1
[187] htmlwidgets_1.5.4                       polyclip_1.10-0
[189] biomaRt_2.53.2                          purrr_0.3.4
[191] shadowtext_0.1.2                        gridGraphics_0.5-1
[193] mgcv_1.8-40                             globals_0.16.1
[195] lmom_2.9                                patchwork_1.1.2
[197] spatstat.random_2.2-0                   progressr_0.11.0
[199] codetools_0.2-18                        matrixStats_0.62.0
[201] GO.db_3.15.0                            gtools_3.9.3
[203] prettyunits_1.1.1                       dbplyr_2.2.1
[205] basilisk.utils_1.9.4                    gridBase_0.4-7
[207] GenomeInfoDb_1.33.7                     gtable_0.3.1
[209] DBI_1.1.3                               stats4_4.2.1
[211] ggfun_0.0.7                             tensor_1.5
[213] httr_1.4.4                              KernSmooth_2.23-20
[215] stringi_1.7.8                           progress_1.2.2
[217] reshape2_1.4.4                          farver_2.1.1
[219] annotate_1.75.0                         viridis_0.6.2
[221] ggtree_3.5.3                            xml2_1.3.3
[223] boot_1.3-28                             restfulr_0.0.15
[225] readr_2.1.2                             geneplotter_1.75.0
[227] ggplotify_0.1.0                         scattermore_0.8
[229] BiocVersion_3.16.0                      DESeq2_1.37.6
[231] bit_4.0.4                               scatterpie_0.1.8
[233] MatrixGenerics_1.9.1                    spatstat.data_2.2-0
[235] ggraph_2.0.6                            pkgconfig_2.0.3
[237] knitr_1.40
</details>

Hi @bschilder , macs3 version has been updated. Please try again. Thanks!

Awesome, thanks @hubentu!
Just reinstalled from GitHub and everything seems to work.
Console output
+ '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/0/bin/conda' 'create' '--yes' '--prefix' '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/1.5.2/env_macs' 'python=3.10' '--quiet' '-c' 'conda-forge'
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/1.5.2/env_macs

  added / updated specs:
    - python=3.10

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    libsqlite-3.39.4           |       ha978bb4_0         870 KB  conda-forge
    libzlib-1.2.13             |       hfd90126_4          64 KB  conda-forge
    pip-22.3                   |     pyhd8ed1ab_0         1.5 MB  conda-forge
    python-3.10.6              |hc14f532_0_cpython        13.4 MB  conda-forge
    setuptools-65.5.0          |     pyhd8ed1ab_0         768 KB  conda-forge
    tzdata-2022e               |       h191b570_0         118 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        16.6 MB

The following NEW packages will be INSTALLED:

  bzip2              conda-forge/osx-64::bzip2-1.0.8-h0d85af4_4
  ca-certificates    conda-forge/osx-64::ca-certificates-2022.9.24-h033912b_0
  libffi             conda-forge/osx-64::libffi-3.4.2-h0d85af4_5
  libsqlite          conda-forge/osx-64::libsqlite-3.39.4-ha978bb4_0
  libzlib            conda-forge/osx-64::libzlib-1.2.13-hfd90126_4
  ncurses            conda-forge/osx-64::ncurses-6.3-h96cf925_1
  openssl            conda-forge/osx-64::openssl-3.0.5-hfd90126_2
  pip                conda-forge/noarch::pip-22.3-pyhd8ed1ab_0
  python             conda-forge/osx-64::python-3.10.6-hc14f532_0_cpython
  readline           conda-forge/osx-64::readline-8.1.2-h3899abd_0
  setuptools         conda-forge/noarch::setuptools-65.5.0-pyhd8ed1ab_0
  tk                 conda-forge/osx-64::tk-8.6.12-h5dbffcc_0
  tzdata             conda-forge/noarch::tzdata-2022e-h191b570_0
  wheel              conda-forge/noarch::wheel-0.37.1-pyhd8ed1ab_0
  xz                 conda-forge/osx-64::xz-5.2.6-h775f41a_0

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
+ '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/0/bin/conda' 'install' '--yes' '--prefix' '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/1.5.2/env_macs' 'python=3.10'
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

# All requested packages already installed.

==> WARNING: A newer version of conda exists. <==
  current version: 4.12.0
  latest version: 22.9.0

Please update conda by running

    $ conda update -n base -c defaults conda

+ '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/0/bin/conda' 'install' '--yes' '--prefix' '/Users/schilder/Library/Caches/org.R-project.R/R/basilisk/1.9.11/MACSr/1.5.2/env_macs' '-c' 'conda-forge' 'python=3.10' 'python=3.10'
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

# All requested packages already installed.

==> WARNING: A newer version of conda exists. <==
  current version: 4.12.0
  latest version: 22.9.0

Please update conda by running

    $ conda update -n base -c defaults conda

Collecting macs3==3.0.0b1
  Downloading MACS3-3.0.0b1.tar.gz (634 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 634.8/634.8 kB 4.5 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting numpy>=1.23
  Using cached numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl (18.1 MB)
Collecting hmmlearn>=0.2.8
  Using cached hmmlearn-0.2.8-cp310-cp310-macosx_10_15_x86_64.whl (112 kB)
Collecting Cython>=0.29
  Using cached Cython-0.29.32-py2.py3-none-any.whl (986 kB)
Collecting cykhash>=2.0
  Using cached cykhash-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Collecting scipy>=0.19
  Using cached scipy-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl (34.3 MB)
Collecting scikit-learn>=0.16
  Using cached scikit_learn-1.1.3-cp310-cp310-macosx_10_9_x86_64.whl (8.7 MB)
Collecting joblib>=1.0.0
  Using cached joblib-1.2.0-py3-none-any.whl (297 kB)
Collecting threadpoolctl>=2.0.0
  Using cached threadpoolctl-3.1.0-py3-none-any.whl (14 kB)
Building wheels for collected packages: macs3
  Building wheel for macs3 (pyproject.toml): started
  Building wheel for macs3 (pyproject.toml): still running...
  Building wheel for macs3 (pyproject.toml): finished with status 'done'
  Created wheel for macs3: filename=MACS3-3.0.0b1-cp310-cp310-macosx_10_9_x86_64.whl size=2139801 sha256=87cd8a8771ed3e9b70390e624bfed83ff7ab1359432e525d3c08cf73991eb361
  Stored in directory: /Users/schilder/Library/Caches/pip/wheels/ef/f9/53/e95565be8d73089241876e4cee571f925128049e2f94aaf9f0
Successfully built macs3
Installing collected packages: cykhash, threadpoolctl, numpy, joblib, Cython, scipy, scikit-learn, hmmlearn, macs3
Successfully installed Cython-0.29.32 cykhash-2.0.0 hmmlearn-0.2.8 joblib-1.2.0 macs3-3.0.0b1 numpy-1.23.4 scikit-learn-1.1.3 scipy-1.9.3 threadpoolctl-3.1.0
INFO  @ Fri, 28 Oct 2022 15:52:56:
# Command line:
# ARGUMENTS LIST:
# name = callpeak_narrow0
# format = AUTO
# ChIP-seq file = ['/Users/schilder/Library/Caches/org.R-project.R/R/ExperimentHub/1453e6b6cd86c_4601']
# control file = ['/Users/schilder/Library/Caches/org.R-project.R/R/ExperimentHub/1453e36f4d18d_4606']
# effective genome size = 5.20e+07
# band width = 300
# model fold = [5.0, 50.0]
# qvalue cutoff = 5.00e-02
# The maximum gap between significant sites is assigned as the read length/tag size.
# The minimum length of peaks is assigned as the predicted fragment length "d".
# Larger dataset will be scaled towards smaller dataset.
# Range for calculating regional lambda is: 1000 bps and 10000 bps
# Broad region calling is off
# Additional cutoff on fold-enrichment is: 0.10
# Paired-End mode is off

INFO  @ Fri, 28 Oct 2022 15:52:56: #1 read tag files...
INFO  @ Fri, 28 Oct 2022 15:52:56: #1 read treatment tags...
INFO  @ Fri, 28 Oct 2022 15:52:56: Detected format is: BED
INFO  @ Fri, 28 Oct 2022 15:52:56: * Input file is gzipped.
INFO  @ Fri, 28 Oct 2022 15:52:56: #1.2 read input tags...
INFO  @ Fri, 28 Oct 2022 15:52:56: Detected format is: BED
INFO  @ Fri, 28 Oct 2022 15:52:56: * Input file is gzipped.
INFO  @ Fri, 28 Oct 2022 15:52:56: #1 tag size is determined as 101 bps
INFO  @ Fri, 28 Oct 2022 15:52:56: #1 tag size = 101.0
INFO  @ Fri, 28 Oct 2022 15:52:56: #1  total tags in treatment: 49622
INFO  @ Fri, 28 Oct 2022 15:52:56: #1 user defined the maximum tags...
INFO  @ Fri, 28 Oct 2022 15:52:56: #1 filter out redundant tags at the same location and the same strand by allowing at most 1 tag(s)
INFO  @ Fri, 28 Oct 2022 15:52:56: #1  tags after filtering in treatment: 48047
INFO  @ Fri, 28 Oct 2022 15:52:56: #1  Redundant rate of treatment: 0.03
INFO  @ Fri, 28 Oct 2022 15:52:56: #1  total tags in control: 50837
INFO  @ Fri, 28 Oct 2022 15:52:56: #1 user defined the maximum tags...
INFO  @ Fri, 28 Oct 2022 15:52:56: #1 filter out redundant tags at the same location and the same strand by allowing at most 1 tag(s)
INFO  @ Fri, 28 Oct 2022 15:52:56: #1  tags after filtering in control: 50783
INFO  @ Fri, 28 Oct 2022 15:52:56: #1  Redundant rate of control: 0.00
INFO  @ Fri, 28 Oct 2022 15:52:56: #1 finished!
INFO  @ Fri, 28 Oct 2022 15:52:56: #2 Build Peak Model...
INFO  @ Fri, 28 Oct 2022 15:52:56: #2 looking for paired plus/minus strand peaks...
INFO  @ Fri, 28 Oct 2022 15:52:56: #2 Total number of paired peaks: 469
INFO  @ Fri, 28 Oct 2022 15:52:56: #2 Model building with cross-correlation: Done
INFO  @ Fri, 28 Oct 2022 15:52:56: #2 finished!
INFO  @ Fri, 28 Oct 2022 15:52:56: #2 predicted fragment length is 228 bps
INFO  @ Fri, 28 Oct 2022 15:52:56: #2 alternative fragment length(s) may be 228 bps
INFO  @ Fri, 28 Oct 2022 15:52:56: #2.2 Generate R script for model : /var/folders/zq/h7mtybc533b1qzkys_ttgpth0000gn/T//RtmpOyztld/callpeak_narrow0_model.r
INFO  @ Fri, 28 Oct 2022 15:52:56: #3 Call peaks...
INFO  @ Fri, 28 Oct 2022 15:52:56: #3 Pre-compute pvalue-qvalue table...
INFO  @ Fri, 28 Oct 2022 15:52:56: #3 Cutoff vs peaks called will be analyzed!
INFO  @ Fri, 28 Oct 2022 15:52:57: #3 Analysis of cutoff vs num of peaks or total length has been saved in b'/var/folders/zq/h7mtybc533b1qzkys_ttgpth0000gn/T//RtmpOyztld/callpeak_narrow0_cutoff_analysis.txt'
INFO  @ Fri, 28 Oct 2022 15:52:57: #3 Call peaks for each chromosome...
INFO  @ Fri, 28 Oct 2022 15:52:57: #4 Write output xls file... /var/folders/zq/h7mtybc533b1qzkys_ttgpth0000gn/T//RtmpOyztld/callpeak_narrow0_peaks.xls
INFO  @ Fri, 28 Oct 2022 15:52:57: #4 Write peak in narrowPeak format file... /var/folders/zq/h7mtybc533b1qzkys_ttgpth0000gn/T//RtmpOyztld/callpeak_narrow0_peaks.narrowPeak
INFO  @ Fri, 28 Oct 2022 15:52:57: #4 Write summits bed file... /var/folders/zq/h7mtybc533b1qzkys_ttgpth0000gn/T//RtmpOyztld/callpeak_narrow0_summits.bed
INFO  @ Fri, 28 Oct 2022 15:52:57: Done!

Hi @bschilder , the updates were pushed to bioc devel, but it just became a release version.


push should return a reference to the newly created element

This is now done in the latest release 0.4.0


Fix: passing lowercase y to confirm prompt

Passing lowercase y as input to confirm prompt for downloading wasn't recognized.
With this  PR, the user can pass any letter either Y or y, the .lower() method will convert it to lowercase and compare.
In cmd applications, usually the capitalized letter is the default operation. As default operation when not passing any input for confirm prompt is n. Hence I have capitalized N and removed capitalization for y .

Hi @rabilrbl Thanks for the PR.  This project was built with nbdev as mentioned in the issue you just opened.  So, the changes must be made to the notebooks not the .py files (as the .py files are auto-generated and over-written).

@amaiya Noted! I'll re-open a new PR. Closing for now


Fixes typos in Coming From Pandas

This pull request makes the explanation of the section "Column assignment based on predicate" easier to understand, and also fixes a typo in the beginning of the sentence. It also fixes typos on the section name and in it's text body.

Thanks @kimjoaoun. Sorry for the delay. I had to fix CI.

no problem!


Universial Cables not connecting with IC2 machine

Please use the search functionality before reporting an issue. Also take a look at the closed issues!
Issue description:
After unloading the world, the cables disconnect from ic2 machines, when using them. To connect them you have to restart the server.
Steps to reproduce:

Unload World
Use IC2 Machine
Connection is away

Version (make sure you are on the latest version before reporting):
Forge: <IP_ADDRESS>96
Mekanism:<IP_ADDRESS>9
Other relevant version: IC2: 2.8.109-ex112
Modpack: Enigmatica2: 1.54

Unfortunately I can't reproduce this, could you provide a server log?


Test infra

Coverage remained the same at 53.685% when pulling 678c2ab1ad4227910392ae15ff29ea6158879341 on test-infra into 44b19de5f39965600e6cc69f1b7aaa360096fa84 on master.

Coverage remained the same at 53.685% when pulling 44516e7e544cbb940dab783be98e285bfc96843d on test-infra into 44b19de5f39965600e6cc69f1b7aaa360096fa84 on master.


ride_info() needs to handle ride pages with insufficient metadata / data

https://github.com/benda18/Rollercoaster_Evolution/blob/6080f0789363b234a8735ac0bd4d21eaef92dd7e/R/00_build_data.R#L550
when a page does not have all data elements (height, distance, and speed), it errors out here and does not get written to file.  Find the spot in the ride_info() function and handle NAs

The following range of lines may be where the problems need to be addressed:
https://github.com/benda18/Rollercoaster_Evolution/blob/6080f0789363b234a8735ac0bd4d21eaef92dd7e/R/00_build_data.R#L61
https://github.com/benda18/Rollercoaster_Evolution/blob/6080f0789363b234a8735ac0bd4d21eaef92dd7e/R/00_build_data.R#L81

mostly / sufficiently resolved


Add an example project.json https://www.microsoft.com/net/core

Cross-post from dotnet/cli#3633
This is a more of a doc bug , please please add an example project.json showing all the options at
https://www.microsoft.com/net/core#windows
All i wanted to do was to add some exiting file and spent almost an hour searching for how to do it and then had to ask around to finally figure it out.
How do i add existing source files to project.json
How do i add local reference ( i don't want to use nuget )
I guess there are more questions like this.
/cc @tijoytom

@tijoytom Why would you expect answers to your fairly specific questions on a "here is the bare minimum to get you started" page? Have you tried looking for links leading to more documentation or tutorials on that page?

That page currently says:

You now have .NET core running on your machine!

You can create a website with ASP.NET Core or you can visit the .NET Core on GitHub for more samples. Take a look at the .NET Documentation to learn more about .NET Core, use one of our interactive online tutorials or get involved with the community to learn more about .NET Core!

Maybe putting the links to documentation and tutorials before the dotnet/core samples would make more sense?

@svick maybe. There is a documentation link high up there. But also, one thing that I've noticed here is that there is no link from the TOC under the .NET Core node to the project.json reference. This should also be fixed.

This seems like scenarios we'd want to cover in our Getting Started @bleroy @cartermp

I propose we close this as no longer relevant with the csproj tooling.
Please vote 👍 or :-1:

Oh yeah, we're closing this.


Instructional Issue

The instructions are: "Let's delete the "tails" property from myDog."
and the test being run is "Delete the property "bark" from myDog." The test should test whether the key-value pair for tails prop is removed.

Closing as duplicate of #3960
Please see https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Searching-for-Your-Issue-on-Github
Happy Coding!


Implement first working Bootstrap Controller

As a step to implementing the bootstrap controller, it would be good to create a first working draft with minimal functionality (without all api fields and without customization), just standard RKE2 install with all the defaults.
This might be done by implementing the following, fairly independent tasks:

[x] #39
[x] #40
[ ] #41
[x] #42
[x] #43
[x] #44

Fixed in f426825fc2c51e12ae34f9748bdd0a5266651820

Very similar to #25. Should we close #25?

Well, I thought this as a first MVP (most API fields do nothing because their logic would not exist) and the #25 as a fully functional one with all the planned features.

Good thinking 👍

Implemented by #60


Shadows degrade performance of ListViews/CollectionViews/SfListViews

First, thanks for this great feature, that enable us easy-development for nice UIs in XForms ;-)
The only problem we encounter with shadows, is that if we use them in DataTemplates/ItemTemplates, the lists have degraded performances and encounter some "lag" when scrolling...
Any maner to improve shadows better in ListViews ?
We tested it with ListViews, CollectionViews, SfListViews, Sharpnado.HorizontalListView, etc... the same "lag" everywhere, but if we just remove the shadows, the good performances are back again normaly...
Here attach some "Neumorphism UI" renders with Sharpnado.Shadows implemented... for Light and Dark Themes :-)
It will be great and soon in production if we can optimize these listview lags

Hey Jerome !
Nice UI ;)
Normally if all items have the same size (which seems to be your case), Shadows should be reused thanks to cell reuse.
You can have a look at this issue:  https://github.com/roubachof/Sharpnado.Shadows/issues/16
If you have still issues, you could share with me your app on a private repo and I could investigate :)

Thanks for your quick return... and sorry for not having seen this issue, I missed it ;-)
I'll read it carrefuly, test some improvement mentionned, and get back to you quickly if It's not concluant (with sample or private repo).
I already know that I abused of Shadows... we put them everywhere ;-)

Ok, did more tests and improve our lists, and Shadows don't realy have bad performance... I think it's normal to have some slowing with all these cells renders (it's more our using and abusing of it ;-))
Can close this issue.
Thanks

@Jerome-Liger This could be the performance issue itself of the CollectionView. You can check out this blog post for some improvement tips: https://codetraveler.io/2020/07/12/improving-collectionview-scrolling/

Thanks @kcrg , I'll have a look !


Remove unnecessary inputs

Update Export.tsx & Add onEnter:: (remove unnecessary input, fix multiple lines issue)
Update ExportAll.tsx:: (remove unnecessary input, remove unused theme variable)
Update AddAccount.tsx:: (remove unnecessary input, fix multiple lines issue)

You may want to apply the same refactoring for Typographies in ExportAll right?

You may want to apply the same refactoring for Typographies in ExportAll right?

Updated!


⚡ Feature | Update editor placeholder on mobile

Description
Currently, even though we don't have the slash commands active on mobile, the placeholder for paragraph node still shows Type '/' for commands so needs to updated.

@QuentinSaubadu @pradel for this one do you guys think it's best to have some placeholder (e.g. 'Type something') or we just leave it blank?

@QuentinSaubadu @pradel for this one do you guys think it's best to have some placeholder (e.g. 'Type something') or we just leave it blank?

Good point, I think "Type something..." is good! Let's go with that


Add LICENSE file in root of git repo

According to "Cargo.toml", this project is licensed under MIT. But no "LICENSE" file is to be found in the root of the git repo. By adding the MIT license to the root of the git repo, it will make the licensing official (currently, it could be argued in court that the program is proprietary) and it will make GitHub show the license in the side panel.

Added. Thanks for pointing this out!


feat: PointCloudTool keydown events

:tada: This PR is included in version 1.0.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Blog App : Integration specs for views and Fix n+1 problems

In this milestone we:

Made sure that the N+1 problem is solved when fetching all posts and their comments for a user.
Used Capybara to write integration tests for each view in your project.

BEFORE :

AFTER:

Hey @AshakaE. I forgot to push that was why. I had already made the changes.

@danmainah We did all the changes you requested on your first review. It is not fair that you are introducing a new request now. We are being forced to use an extra review. All in all, Thank you for the review!

@danmainah We did all the changes you requested on your first review. It is not fair that you are introducing a new request now. We are being forced to use an extra review. All in all, Thank you for the review!

no I didn't introduce any new changes check my first review I requested the change while requesting for user profile picture, kindly check the screenshot below

Thank you @TedLivist

Hi @amentetteh,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted the wrong pull request, kindly create a new pull  in your own repository, please see the Work and submission mode, please note that your partner has to commit to your own repository 👍🏿
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification @prolajumokeoni.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Cassandra backup/restore

Just would like to discuss ideas on the best way to have that implemented. I thought to integrate Netflix's Priam, but it doesn't seem to work as a backup/restore solution only.
Another cool tool is https://github.com/pearsontechnology/cassandra_snap. However, it needs ssh access to each instance and requires to enlist all nodes to take backup from, rather than figure that out automatically.
What are your thoughts?

Both Priam and cassandra_snap leverages Cassandra Snapshot. See Priam Backup.
We may be able to run Priam as the sidecar container of the service container. The sidecar container could access the same volume with the service container. AWS ECS supports multiple containers in one TaskDefinition. Kubernetes supports Pod, which could also run multiple containers. So the sidecar container will work for both AWS ECS and Kubernetes. While, currently Docker Swarm does not have this ability. Some prototype will be required to see if Priam works in the sidecar container. Of course, developing our own sidecar container is another option.
We could also consider to leverage EBS Snapshot. FireCamp Cassandra enables the remote JMX. We could run one or multiple job containers, which runs nodetool to connect to one or multiple Cassandra containers and flush the memtables to disk. After the flush finishes for all replicas, another job container(s) could be run to take snapshot of the EBS volumes. This is also eventual consistency with taking snapshot of all Cassandra replicas, and relies on Cassandra's built-in consistency mechanisms to resume consistency for the restored snapshot.
AWS EBS Snapshots are incremental backups, which means that only the blocks on the device that have changed after your most recent snapshot are saved.
The restore will only take 3 steps: 1) stop all containers. 2) restore the EBS to snapshot. 3) start containers.

Thanks for sharing your thoughts!
I might be wrong, but according to https://github.com/Netflix/Priam/issues/649, Priam can't be used just as a backup solution.
What do you think of having a cronjob on the each C* node which will launch nodetool snapshot followed by a aws ec2 create-snapshot and aws ec2 delete-snapshot (for old snapshots) for the volumes of that node? This job could be created/altered/deleted by a command to firecamp-manageserver. Besides time of backup we might set snapshot volumes tags (with, for example, the node information), retention time, email or SNS topic for alerts in case of issues, etc.
It would be great to automate the restore by a command to the manage server as well, giving the time of available backup. A list command could display the available recovery points (based on snapshot tags and datetime).
Having this implemented would also simplify launching a new C* from existing backup.

Yes, Priam is more than backup/recovery. Didn't check the detail design/implementation. As you posted, it might not be able to only use the backup function.
The cronjob may not be the best option. The nodes in one cluster may run multiple services. Different services will have different requirements for backup. The cronjob will end up to handle all services. It would be better to use the job container, which could be triggered on demand. The job container could launch nodetool flush and then call aws api to create EBS snapshot. Every service could have its own job container.
We should use nodetool flush instead of nodetool snapshot. The nodetool snapshot will create the hardlinks to the SSTables. If you don't delete the hardlinks by yourselves, the SSTable will never get deleted. The disk will fill up.
Yes, we could automate the restore. A list command will be part of the general data management framework.
We will evaluate other services as well for the general data management framework design.

By C* node I meant a container where C* daemon is running, not an EC2 instance. Sorry for misleading.
And, yes, of course flush, not snapshot. My bad.
Looks like the separate container (within the same task) indeed better than cronjob from the different services backup management point of view: each service might have a backup job container with its own logic.

Created two scripts to backup and restore:
https://gist.github.com/jazzl0ver/c6859e1615a0f97b8704052db0745e25
https://gist.github.com/jazzl0ver/c87c5ebfd76c07b56ffe8448f40e737b

Hi Jazz,
Can we get similar script for backup and restore for Kafka and mongodb
service ?
Thanks,
Nagaraj
On Wed, 29 May, 2019, 21:05 jazzl0ver<EMAIL_ADDRESS>wrote:

Created two scripts to backup and restore:
https://gist.github.com/jazzl0ver/c6859e1615a0f97b8704052db0745e25
https://gist.github.com/jazzl0ver/c87c5ebfd76c07b56ffe8448f40e737b
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cloudstax/firecamp/issues/29?email_source=notifications&email_token=ADMERTT3IVSSS5E4ZUFZTZTPX2PF5A5CNFSM4EP273Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWPXMMY#issuecomment-496989747,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADMERTX6CNIRP3LNCGWJYZTPX2PF5ANCNFSM4EP273QQ
.

I don't use mongodb, so no luck here. Regarding Kafka - why do you need to back it up?

Yes agreed, Kafka anyways data auto expires. It will be good if we could
get something for mongodb service.
Thanks,
Nagaraj
On Mon, 3 Jun, 2019, 16:51 jazzl0ver<EMAIL_ADDRESS>wrote:

I don't use mongodb, so no luck here. Regarding Kafka - why do you need to
back it up?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cloudstax/firecamp/issues/29?email_source=notifications&email_token=ADMERTWX6KXMQ65OBZRWMXTPYT5CFA5CNFSM4EP273Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWZDBRY#issuecomment-498217159,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADMERTRTLMTI6HFL5U7RZ43PYT5CFANCNFSM4EP273QQ
.

I'm not a part of CloudStax team, so I can't spend time on services we don't use. Sorry about that.


updating formatting from code style to note style

info block required horizontal scrolling and links were not rendering correctly.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@Julian-Robinson Thanks for improving Azure docs! A small request: can you indent all your changes by 4 spaces so that it shows up flush with the steps?

@cephalin - thanks for the feedback. All done.

@Julian-Robinson Looks great! Really appreciate it.
#sign-off